Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung einiger häufig verwendeter Beispiele für die Verwendung von Array-Funktionen in JavaScript

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

伊谢尔伦
伊谢尔伦Original
2017-07-25 11:52:291225Durchsuche

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

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

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

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

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

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

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

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

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

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

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

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));    // -> 空

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

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); }

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
}

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

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日

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

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

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!

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