Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung einiger häufig verwendeter Beispiele für die Verwendung von Array-Funktionen in JavaScript

伊谢尔伦
Freigeben: 2017-07-25 11:52:29
Original
1289 Leute haben es durchsucht

Allgemeine Array-Funktionen

concat

Hängt ein Array nach dem vorhandenen Array an und gibt das neue Array zurück, ohne das vorhandene Array zu beeinflussen:

var a = [123];
var b = "sunnycat";
var c =    ["www",21,"ido"];
var d = {x:3.14, y:"SK"};
var e = [1,2,3,4,[5,6,[7,8]]];
alert(a.concat(b));     // -> 123,sunnycat
alert(a);  //    -> 123
alert(b.concat(c, d));       // -> sunnycatwww,21,ido[object    Object]
alert(c.concat(b));     // -> www,21,ido,sunnycat
alert(e.concat(11,22,33).join(" #    "));       // -> 1 # 2 # 3    # 4 # 5,6,7,8 # 11 # 22 # 33
Nach dem Login kopieren

Es ist zu beachten, dass es nur für Arrays oder Strings verwendet werden kann. Wenn es sich bei dem verbundenen (a vor) um einen numerischen Wert, einen booleschen Wert oder ein Objekt handelt, wird bei Strings ein Fehler gemeldet sind mit Arrays verbunden, Zeichen Die Zeichenfolge wird mit dem ersten Element des Arrays gespleißt, um ein neues Element zu bilden, und die Array-Verbindungszeichenfolge fügt neue Elemente an (ich kenne den Grund dafür nicht, bitte geben Sie ihn an, wenn Sie). wissen). Bei Arrays, die Arrays und Objekte enthalten, bleiben diese nach der Verbindung unverändert.

join

Verbinden Sie die Arrays mit angegebenen Trennzeichen und konvertieren Sie die Arrays in Strings:

var a = ['a','b','c','d','e','f','g'];
lert(a.join(","));   // -> a,b,c,d,e,f,g 相当于a.toString()
alert(a.join(" x "));  // -> a x b x c x d x e x f x g
Nach dem Login kopieren

Das ist leicht zu verstehen, aber Sie brauchen es Achtung: Der Zweck besteht darin, nur das eindimensionale Array zu konvertieren. Wenn das Array ein Array enthält, wird die durch Join angegebene Zeichenfolgenverbindung nicht verwendet, sondern die Standardeinstellung toString (), z. B.

var a =    ['a','b','c','d','e','f','g',[11,22,33]];
alert(a.join(" * "));  // -> a * b * c * d * e * f * g *    11,22,33
Nach dem Login kopieren

Hinweis: Im Array Array gibt es keine Verwendung für die *-Verkettung

pop

, um das letzte Element des Arrays zu löschen und zurückzugeben element

var a =    ["aa","bb","cc"];
document.write(a.pop());    // -> cc
document.write(a);        // -> aa, bb
Nach dem Login kopieren

Hinweis: Wenn das Array leer ist, fügt undefiniert

push

ein Array am Ende des Arrays hinzu und gibt zurück die neue Länge des Arrays. Der Unterschied zwischen

var a =    ["aa","bb","cc"];
document.write(a.push("dd"));    // -> 4
document.write(a);        // -> aa,bb,cc,dd
document.write(a.push([1,2,3]));  // -> 5
document.write(a);        // -> aa,bb,cc,dd,1,2,3
Nach dem Login kopieren

und concat besteht darin, dass concat das ursprüngliche Array nicht beeinflusst und das neue Array direkt zurückgibt, während push das ursprüngliche Array direkt ändert und die neue Länge zurückgibt des Arrays

sortieren

Array-Sortierung, schauen wir uns das zuerst an Beispiel

var a = [11,2,3,33445,5654,654,"asd","b"];
alert(a.sort()); // -> 11,2,3,33445,5654,654,asd,b
Nach dem Login kopieren

Ist das Ergebnis nicht sehr überraschend? Die Sortierung basiert nicht auf der Ganzzahlgröße, sondern auf dem Vergleich des ANSI-Codes des ersten Zeichens. Wenn ja, nehmen Sie das zweite Zeichen und vergleichen Sie es Vergleichen Sie dies anhand eines ganzzahligen Werts.

var a = [11,2,3,33445,5654,654];
a.sort(function(a,b) {
return a - b;
});
alert(a);  //    -> 2,3,11,654,5654,33445
Nach dem Login kopieren

Die Methode sort() hat einen optionalen Parameter, der die Funktion im Code darstellt. Nicht-Zahlen können nicht sortiert werden -Zahlen erfordern mehr Urteilsvermögen.

umgekehrte Sortierung

Die umgekehrte Sortierung eines Arrays ist dasselbe wie sort() Wert des ersten Zeichens zum Vergleich

var a = [11,3,5,66,4];
alert(a.reverse());  // -> 4,66,5,3,11
Nach dem Login kopieren

Wenn das Array auch ein Array enthält, wird es als Objekt behandelt und die Elemente werden nicht extrahiert

var a = ['a','b','c','d','e','f','g',[4,11,33]];
alert(a.reverse());  // -> 4,11,33,g,f,e,d,c,b,a
alert(a.join(" * "));  // -> 4,11,33 * g * f * e * d * c * b * a
Nach dem Login kopieren

Sollte es sein 11 An letzter Stelle, da 4,11,33 hier als vollständige Objekte verglichen werden und daher an erster Stelle stehen
Wenn Sie es nicht verstehen, verwenden Sie join(), um sie aneinanderzureihen, es wird viel klarer sein

shift

Löscht das erste Element des Arrays und gibt das Element zurück, ähnlich wie bei pop

var a =    ["aa","bb","cc"];
document.write(a.shift());   // -> aa
document.write(a);        // -> bb,cc
Nach dem Login kopieren

Hinweis: Wenn das Array leer ist, undefiniert

Unshift

Das Gegenteil von Shift fügt Elemente am Anfang des Arrays hinzu und gibt die neue Länge des Arrays zurück

var a =    ["aa","bb","cc"];
document.write(a.unshift(11));   // -> 4 注:IE下返回undefined
document.write(a);        // -> 11,aa,bb,cc
document.write(a.unshift([11,22]));   // -> 5
document.write(a);        // -> 11,22,11,aa,bb,cc
document.write(a.unshift("cat"));  // -> 6
document.write(a);        // -> cat,11,22,11,aa,bb,cc
Nach dem Login kopieren

Beachten Sie, dass dies der Fall ist Methode unter IE undefiniert zurückgibt, sieht aus wie ein Microsoft-Fehler, aber ich kann die neue Länge des Arrays in Firefox korrekt

slice

verwenden, um das Array zurückzugeben Fragment

var a = ['a','b','c','d','e','f','g'];
alert(a.slice(1,2));  // -> b
alert(a.slice(2));    // -> c,d,e,f,g
alert(a.slice(-4));   // -> d,e,f,g
alert(a.slice(-2,-6));    // -> 空
Nach dem Login kopieren

a. Slice(1,2), beginnend mit Index 1 bis zur Zahl zwischen Index 2, beachten Sie, dass das Element mit Index 2 nicht enthalten ist
Wenn es nur einen Parameter gibt, es ist standardmäßig das Ende des Arrays
-4 bedeutet das 4. Element von unten, daher werden die vier Elemente von unten zurückgegeben
Die letzte Zeile beginnt beim 2. von unten, da sie rückwärts abgefangen wird. Es ist offensichtlich, dass die vorherigen Elemente nicht abgerufen werden können, daher wird ein leeres Array zurückgegeben. Wenn Sie zu a.slice(-6,-2) wechseln und b,c,d,e

splice zurückgeben

löscht die Elemente eines Segments aus dem Array und gibt gelöschte Elemente zurück

var a = [1,2,3,4,5,6,7,8,9];
document.write(a.splice(3,2));    // -> 4,5
document.write(a);        // -> 1,2,3,6,7,8,9
document.write(a.splice(4));  // -> 7,8,9 注:IE下返回空
document.write(a);        // -> 1,2,3,6
document.write(a.splice(0,1));    // -> 1
document.write(a);        // -> 2,3,6
document.write(a.splice(1,1,["aa","bb","cc"]));   // -> 3
document.write(a);        // -> 2,aa,bb,cc,6,7,8,9
document.write(a.splice(1,2,"ee").join("#")); // -> aa,bb,cc#6
document.write(a);        // -> 2,ee,7,8,9
document.write(a.splice(1,2,"cc","aa","tt").join("#"));  // -> ee#7
document.write(a);        // -> 2,cc,aa,tt,8,9
Nach dem Login kopieren

Beachten Sie, dass der zweite Parameter dieser Methode unter IE erforderlich ist. Wenn er nicht ausgefüllt ist Der Standardwert ist 0, z. B. a.splice(4). Unter IE wird leer zurückgegeben. Der Effekt entspricht a.splice(4,0)

toString

Array in String konvertieren, nicht nur Arrays, alle Objekte können diese Methode verwenden

var a =    [5,6,7,8,9,["A","BB"],100];
document.write(a.toString());    // -> 5,6,7,8,9,A,BB,100
var b = new Date()
document.write(b.toString());    // -> Sat Aug 8 17:08:32 UTC+0800    2009
var c = function(s){
alert(s);
}
document.write(c.toString());    // -> function(s){ alert(s); }
Nach dem Login kopieren

Der boolesche Wert gibt „true“ oder „false“ zurück, das Objekt gibt [Objektobjektname] zurück
Verglichen mit der Methode „join()“: „join“. () ersetzt nur das eindimensionale Array, während toString() das gesamte Array (ob eindimensional oder mehrdimensional) vollständig planarisiert ersetzt
Gleichzeitig kann diese Methode für dezimale, binäre, oktale, und hexadezimale Konvertierung, zum Beispiel:

var a =    [5,6,7,8,9,"A","BB",100];
for(var i=0; i<a.length; i++){
document.write(a[i].toString()    + " 的二进制是 "    + a[i].toString(2) + " ,八进制是 " + a[i].toString(8) + " ,十六进制是 " + a[i].toString(16));  //    -> 4,5
}
Nach dem Login kopieren

Ausgabeergebnis:

5 的二进制是 101 ,八进制是 5 ,十六进制是 5
6 的二进制是 110 ,八进制是 6 ,十六进制是 6
7 的二进制是 111 ,八进制是 7 ,十六进制是 7
8 的二进制是 1000 ,八进制是 10 ,十六进制是 8
9 的二进制是 1001 ,八进制是 11 ,十六进制是 9
A 的二进制是 A ,八进制是 A ,十六进制是 A
BB 的二进制是 BB ,八进制是 BB ,十六进制是 BB
100 的二进制是 1100100 ,八进制是 144 ,十六进制是 64
Nach dem Login kopieren

Die Konvertierung kann nur für Elemente durchgeführt werden, wenn das gesamte Array konvertiert wird, wird das Array unverändert zurückgegeben

toLocaleString

Zurück zum lokalen Format String, wird hauptsächlich für Datumsobjekte verwendet

var a = new Date();
document.write(a.toString());    // -> Sat Aug 8 17:28:36 UTC+0800    2009
document.write(a.toLocaleString());   // -> 2009年8月8日 17:28:36
document.write(a.toLocaleDateString());   // -> 2009年8月8日
Nach dem Login kopieren

Der Unterschied besteht darin, dass toString() das Standardformat zurückgibt. und toLocaleString() gibt das vollständige Datum im lokalen Format zurück (in [Systemsteuerung]>>[Regions- und Sprachoptionen], durch Ändern des Formats [Zeit] und [langes Datum]), toLocaleDateString() ist dasselbe wie toLocaleString( ), außer dass die Zeit

valueOf

entsprechend unterschiedlich ist. Das Objekt gibt unterschiedliche Originalwerte zurück. Bei Verwendung für die Ausgabe ähnelt es toString(). aber toString() gibt den String-Typ zurück und valueOf() gibt den ursprünglichen Objekttyp zurück.

var a = [1,2,3,[4,5,6,[7,8,9]]];
var b = new Date();
var c = true;
var d = function(){
alert("sunnycat");
};
document.write(a.valueOf());    // -> 1,2,3,4,5,6,7,8,9
document.write(typeof (a.valueOf()));  // -> object
document.write(b.valueOf());    // -> 1249874470052
document.write(typeof(b.valueOf()));  // -> number
document.write(c.valueOf());    // -> true
document.write(typeof(c.valueOf()));  // -> boolean
document.write(d.valueOf());    // -> function () {    alert("sunnycat"); }
document.write(typeof(d.valueOf()));  // -> function
Nach dem Login kopieren

Arrays sind ebenfalls Objekte, daher gibt typeof ( a.valueOf()) ein Objekt zurück, das immer noch ein Multi ist -dimensionales Array

var a = [1,2,3,[4,5,6,[7,8,9]]];
var aa = a.valueOf();
document.write(aa[3][3][1]); // -> 8
Nach dem Login kopieren

Das Date-Objekt gibt die Anzahl der Millisekunden seit dem 1. Januar 1970 zurück. Die Math- und Error-Objekte verfügen nicht über die valueOf-Methode.

Das obige ist der detaillierte Inhalt vonZusammenfassung einiger häufig verwendeter Beispiele für die Verwendung von Array-Funktionen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!