Array.prototype 的泛型应用分析_javascript技巧
请说明下面语句的输出:
x = {shift:[].shift};
x.shift();
console.info(x.length);
如果你回答正确,那么说明你已经了解 Array 函数的泛型应用。在理解这到题目之前,我 我们首先要了解数组(Array)的 shift 定义。
MDC 中已经对相关的说明描述得非常的清楚
shift is intentionally generic; this method can be called or
applied to objects resembling arrays. Objects which do not
contain a length property reflecting the last in a series of
consecutive, zero-based numerical properties may not behave
in any meaningful manner.
同时,EMCAScript 中的定义也同时定义了对于 shift 操作对于对象 length 属性的改变, 那么基本上我们可以了解到上题中的答案为
扩散思维
如果对于上面的题目还无法理解,那么我们更清楚的说明 Array.prototype.shift 对对象 的 length 的影响。
x = {};
Array.prototype.shift.call(x);
console.info(x.length);
很明显,对于对象如果为定义 length 属性,则 shift 则会自动加上 length 属性并设置 为 0 。
既然已经说到这里,那么下面的题目输出什么留给大家去思考。
x = function (a, b, c) {};
Array.prototype.shift.call(x);
console.info(x.length);
重新认识泛型
很明显,上面的题目有可能还是无法说明本篇文章的题目。泛型(Generic)应用其实 期前也说明过,但这里主要说明 Array 方法对于“类数组”的操作使用。
强制转换为数组
var args = Array.prototype.slice.call(arguments);
这个用法比较火星,其实期前也用过,详细参见这里。
迭代数据
Array.prototype.forEach.call(arguments, function(i) {
console.info(i);
});
如果对象能够被递归,则出了“传统”的 for、while 等语句以外,还可以考虑使用 Array 的 forEach 属性(注意 IE 会是悲剧)。Array 的 forEach 方法详见这里。
其他的 Array 扩展用法可以散发自己的思维,如果对应浏览器的 Array 没有对应的实现方 法,可以参见这里。
其实,不仅仅是 Array 方法,很多浏览器原生对象的方法都是泛型,我们完全可以利用这 这些特性使代码更为的清晰
使用原生方法,效率更高。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Titel: Beispiel für die Verwendung der Array.Sort-Funktion zum Sortieren eines Arrays in C#. Text: In C# ist Array eine häufig verwendete Datenstruktur, und häufig sind Array-Sortiervorgänge erforderlich. C# stellt die Array-Klasse bereit, die über die Sort-Methode verfügt, um Arrays bequem zu sortieren. In diesem Artikel wird gezeigt, wie Sie ein Array mithilfe der Array.Sort-Funktion in C# sortieren, und es werden spezifische Codebeispiele bereitgestellt. Zunächst müssen wir die grundlegende Verwendung der Array.Sort-Funktion verstehen. Array.So

In PHP gibt es viele leistungsstarke Array-Funktionen, die Array-Operationen komfortabler und schneller machen können. Wenn wir zwei Arrays zu einem assoziativen Array kombinieren müssen, können wir diese Operation mit der Funktion array_combine von PHP ausführen. Diese Funktion wird tatsächlich verwendet, um die Schlüssel eines Arrays als Werte eines anderen Arrays zu einem neuen assoziativen Array zu kombinieren. Als nächstes erklären wir, wie man die Funktion array_combine in PHP verwendet, um zwei Arrays zu einem assoziativen Array zu kombinieren. Erfahren Sie mehr über array_comb

Beim Programmieren in PHP müssen wir häufig Arrays zusammenführen. PHP stellt die Funktion array_merge() bereit, um die Array-Zusammenführung abzuschließen. Wenn jedoch derselbe Schlüssel im Array vorhanden ist, überschreibt diese Funktion den ursprünglichen Wert. Um dieses Problem zu lösen, stellt PHP in der Sprache auch eine Funktion array_merge_recursive() bereit, die Arrays zusammenführen und die Werte derselben Schlüssel beibehalten kann, wodurch das Programmdesign flexibler wird. array_merge

In der PHP-Programmierung ist Array eine sehr wichtige Datenstruktur, die große Datenmengen problemlos verarbeiten kann. PHP bietet viele Array-bezogene Funktionen, array_fill() ist eine davon. In diesem Artikel wird die Verwendung der Funktion array_fill() ausführlich vorgestellt und einige Tipps für praktische Anwendungen gegeben. 1. Übersicht über die Funktion array_fill() Die Funktion der Funktion array_fill() besteht darin, ein Array mit demselben Wert und einer angegebenen Länge zu erstellen. Konkret lautet die Syntax dieser Funktion

In der PHP-Programmierung ist Array ein häufig verwendeter Datentyp. Es gibt auch eine ganze Reihe von Array-Operationsfunktionen, einschließlich der Funktion array_change_key_case(). Diese Funktion kann die Groß-/Kleinschreibung von Schlüsselnamen im Array umwandeln, um unsere Datenverarbeitung zu erleichtern. In diesem Artikel wird die Verwendung der Funktion array_change_key_case() in PHP vorgestellt. 1. Funktionssyntax und Parameter array_change_ke

Das Array-Modul in Python ist ein vordefiniertes Array, sodass es viel weniger Speicherplatz beansprucht als eine Standardliste und auch schnelle Vorgänge auf Elementebene wie Hinzufügen, Löschen, Indizieren und Schneiden ausführen kann. Darüber hinaus sind alle Elemente im Array vom gleichen Typ, sodass Sie die vom Array bereitgestellten effizienten numerischen Operationsfunktionen verwenden können, z. B. die Berechnung der Durchschnitts-, Maximal- und Minimalwerte. Darüber hinaus unterstützt das Array-Modul auch das direkte Schreiben und Lesen von Array-Objekten in Binärdateien, was die Verarbeitung großer Mengen numerischer Daten effizienter macht. Wenn Sie daher eine große Menge homogener Daten verarbeiten müssen, können Sie die Verwendung des Array-Moduls von Python in Betracht ziehen, um die Ausführungseffizienz Ihres Codes zu optimieren. Um das Array-Modul verwenden zu können, müssen Sie zunächst Folgendes tun

Java ist eine sehr leistungsfähige Programmiersprache, die in verschiedenen Entwicklungsbereichen weit verbreitet ist. Bei der Java-Programmierung stoßen Entwickler jedoch häufig auf ArrayIndexOutOfBoundsException-Ausnahmen. Was sind also die häufigsten Ursachen dieser Anomalie? ArrayIndexOutOfBoundsException ist eine häufige Laufzeitausnahme in Java. Dies bedeutet, dass beim Zugriff auf Daten der Array-Index den Bereich des Arrays überschreitet. Häufige Gründe sind:

In der Java-Entwicklung verwenden wir aufgrund der Bequemlichkeit und Leistungsvorteile von Arrays häufig Arrays zum Speichern einer Reihe von Daten. Bei der Verwendung von Arrays treten jedoch einige Ausnahmen auf, und eine der häufigsten Ausnahmen ist ArrayStoreException. Diese Ausnahme wird ausgelöst, wenn wir inkompatible Datentypen im Array speichern. In diesem Artikel wird erläutert, was eine ArrayStoreException ist, warum sie auftritt und wie sie gelöst werden kann. 1. Arr
