


Beispiel für eine Erweiterungsfunktion eines Array-Array-Objekts in einem JavaScript-Programm
Wir fügen den Prototypen von String, Function und Array oft benutzerdefinierte Erweiterungsfunktionen hinzu, wie z. B. das Entfernen von String-Leerzeichen, das Sortieren von Arrays usw.
Heute konzentrieren wir uns auf die Erweiterung des Array-Objekts
1. Erweitern Sie direkt auf Array.prototype
2. Verwenden Sie Ihre eigene Methode, um das Array-Objekt zu erweitern
Erweitern Sie es direkt auf Array.prototype und können Sie es nicht direkt auf DOM-Objekten verwenden ( wie zum Beispiel: document .getElementsByTagName('div') learned nodeList);
Es zerstört auch die ursprüngliche ökologische Umgebung für Schüler mit Mysophobie: )
Sehen wir uns zunächst einige Methoden zum Betreiben von Arrays an Yui, hier habe ich einfach den Quellcode entfernt und geändert
(function(){
var YArray;
YArray = function(o,idx,arraylike){
var t = (arraylike) ? 2 : YArray.test(o),
l, a, start = idx || 0;
if (t) {
try {
return Array.prototype.slice .call(o, start); //Native Array-Methode verwenden, um Atome in ein JS-Array umzuwandeln
} Catch(e) {
a = [];
l = o.length;
for (; start
}
return a;
}
} else {
return [o] ;
}
}
YArray.test = function(o){
var r = 0;
if (o && (typeof o == 'object' | |typeof o == 'function')) {
if (Object.prototype.toString.call(o) === "[object Array]") {
r = 1;
} else {
versuchen Sie {
if (('length' in o) && !o.tagName && !o.alert && !o.apply) {
r = 2;
}
} zu fangen (e) {}
}
}
return r;
}
YArray.each = (Array.prototype.forEach) ? //Überprüfen Sie zunächst, ob der Browser unterstützt wird , falls verfügbar, rufen Sie die native
function (a, f, o) {
Array.prototype.forEach.call(a || [], f, o || Y);
return YArray;
} :
Funktion (a, f, o) {
var l = (a && a.length) || 0, i;
für (i = 0; i < l; i=i+1) {
f.call(o || Y, a[i], i, a);
}
return YArray;
};
YArray.hash = function(k, v) {
var o = {}, l = k.length, vl = v && v.length, i;
for (i=0; i
o[k[i]] = (vl && vl > i) ? v[i] : true;
}
}
return o;
};
YArray.indexOf = (Array.prototype.indexOf) ?
function(a, val) {
return Array. Prototyp.indexOf.call(a, val);
} :
function(a, val) {
for (var i=0; i
return i;
}
}
return -1; //Kann die Situation nicht finden
};
YArray.numericSort = function(a, b) {
return (a - b); //Sortieren von klein nach groß, return (b - a); Von groß nach klein
};
YArray.some = (Array.prototype.some) ?
function (a, f, o) {
return Array.prototype.some.call(a, f, o);
} :
Funktion (a, f, o) {
var l = a.length, i;
for (i=0; i
return true;
}
}
return false;
};
}) ();
Andere Methoden zum Konvertieren von Atomen in JS-Arrays mithilfe der nativen Array-Methode (Dom-Objekte sind nicht zulässig, nur Traversierung)
Array.apply (null,arguments);
[].slice.call(arguments,0);
[].splice.call(arguments,0,arguments.length);
[].concat.apply( [],arguments);
...
Die YArray-Funktion kann nicht nur auf Array-Objekten, sondern auch auf nodeList-Objekten angewendet werden
YArray(document.getElementsByTagName ( "div"));
Durchlaufen Sie das Dom-Objekt und setzen Sie es wieder zu einem Array zusammen: )
a = [];
l = o.length ;
for (; start
}
return a;
YArray .each
durchläuft das Array, wenn eine Funktion übergeben wird, Rückruf
YArray.each([1,2,3],function(item ){
alert(item);// 3-mal ausgeführt, 1,2,3
});
YArray.hash
Array Assembling Schlüssel-Wert-Paare können als JSON-Objekt verstanden werden
YArray.hash(["a", "b"], [1,2]);
YArray.indexOf
return (think Um den gleichen Wert zu finden, liegt der Wert am Indexwert des Arrays
YArray.indexOf([1,2],1)
YArray.numericSort
Sortieren Sie das Array von klein nach large
[3, 1, 2].sort(YArray.numericSort);
YArray.some
Haben irgendwelche Elemente im Array die CallBack-Verarbeitung bestanden? Wenn dies der Fall ist, wird sofort true zurückgegeben. Wenn keine vorhanden ist, wird false zurückgegeben
YArray.some([3, 1, 2], function(el) {
return el < 4;
})
Sehen wir uns die Javascript 1.6 -1.8-Erweiterungen für Arrays an und erfahren, wie man die gleiche Funktionalität erreicht
jeder
filter
forEach
indexOf
lastIndexOf
map
some
reduce
reduceRight
Array.prototype.every
if (!Array.prototype.every)
{
Array.prototype.every = function(fun /*, thisp*/)
{
var len = this.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var thisp = arguments[1];
for ( var i = 0; i < len; i++)
{
if (i in this &&
!fun.call(thisp, this[i], i, this))
return false ;
}
turn true;
};
}
Wurde jedes Element im Array von CallBack verarbeitet? Wenn dies der Fall ist, wird true zurückgegeben. Wenn dies nicht der Fall ist, wird sofort false zurückgegeben
Dies ist einigen der gerade erwähnten YUI-Funktionen sehr ähnlich:) Die Funktion ist genau das Gegenteil
Array .prototype.filter
Array.prototype.filter = function (block /*, thisp */) { //Filter, einfach hinzuzufügen, zur Beurteilung und Filterung
var value = [] ;
var thisp = arguments[1];
for (var i = 0; i < this.length; i++)
if (block.call(thisp, this[i]))
values.push(this[i]);
Rückgabewerte;
};
Nutzung
var val= zahlen.filter(funktion(t){
return t < 5 ;
})
alert(val);
forEach, indexOf und einige können auf den obigen Yui-Code verweisen und werden nicht noch einmal wiederholt
lastIndexOf und indexOf haben ähnliche Codes, werden aber vom Ende aus durchlaufen >
var len = this. length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var res = new Array(len);
var thisp = arguments [1];
for (var i = 0; i < ; len; i++) {
if (i in this)
res[i] = fun.call(thisp, this[i], i, this);
}
return res;
};
var zahlen = [1, 4, 9];
var root = zahlen.map(Funktion (a){return a * 2});
var len = this.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
if (len = = 0 && arguments.length == 1)
throw new TypeError();
var i = 0;
if (arguments.length >= 2) {
var rv = arguments[1 ];
} else {
do {
if (i in this ) {
rv = this[i++];
break;
}
if (++i >= len)
throw new TypeError();
} while (true );
}
for (; i < len; i++) {
if (i in this)
rv = fun.call(null, rv, this[i], i, this );
}
return rv;
};
als verwenden Name impliziert, von rechts nach links
var len = this.length > >> 0;
if (typeof fun != "function")
throw new TypeError();
if (len == 0 && arguments.length == 1)
throw new TypeError();
var i = len - 1;
if (arguments.length >= 2) {
var rv = arguments[1];
} else {
do {
if (i in this) {
rv = this[i--];
break;
}
if (--i < 0)
throw new TypeError( );
} while (true);
}
for (; i >= 0; i --) {
if (i in this)
rv = fun.call( null, rv, this[i], i, this);
}
return rv;
} ;
hinzugefügt werden, z. B. der häufig verwendete toString
return this.join('');
};

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

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 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

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

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 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

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
