Heim  >  Artikel  >  Web-Frontend  >  JS – Array

JS – Array

巴扎黑
巴扎黑Original
2016-12-06 11:20:021425Durchsuche

Array (Array-Objekt)
Array ist ein Objekt. Ein Array ist eine geordnete Sammlung von Werten. Jeder Wert wird als Element bezeichnet (kann von beliebigem Typ sein) und jedes Element hat eine Position im Array, dargestellt durch eine Zahl, die als Index (0-232-2) bezeichnet wird.
1. Erstellen Sie ein Array
1. Verwenden Sie Array-Literal (direkte Menge)
var empty=[];//Leeres Array
var misc=[1.1,true,"a",[1 ,{x:1,y:2}]];//Die Elementtypen sind unterschiedlich
var count=[1,,2];//Es gibt 3 Elemente und der weggelassene Wert in der Mitte ist undefiniert
var undefs =[,,];//Es gibt 2 Elemente, aber sie werden auch in 3 geparst, also tun Sie dies nicht
2. Rufen Sie den Konstruktor Array()
var a=new auf Array();//Kein Parameter, entspricht einem leeren Array
var a=new Array(10); //Geben Sie ein Array mit einer Länge von 10 an
var a=new Array(10, 4, " hhhh"); // Geben Sie ein Array-Element an. Es ist jedoch nicht besser, die Literalmethode direkt zu verwenden.
2. Lesen und Schreiben von Array-Elementen
var arr=[1,2,3,4,5 ];
arr[1];//Das erste Element des Arrays Ein Element - 2
arr[5]=6; //Das fünfte Element dynamisch hinzufügen (keine Neudefinition erforderlich) - 6
delete arr[0]; lösche das erste Element, aber zu diesem Zeitpunkt beträgt die Array-Länge noch 6 und das erste Element ist undefiniert
3. Sparse-Array
Ein Sparse-Array ist ein Array, das diskontinuierliche Indizes enthält, beginnend mit 0. Im Allgemeinen ist der Längenattributwert größer als die tatsächliche Anzahl der Elemente
var arr1=[undefiniert];//Gleich var arr2=[,]; 0 in arr1; // Gibt true zurück, es gibt ein Element bei Index 0
0 in arr2; // Gibt false zurück, es gibt kein Element bei Index 0
4. Array-Attribute
length: arr1.length ;
5. Array Traverse
for(var i=0;i6. Mehrdimensionales Array
arr[][]

//Erstelle ein mehrdimensionales Array
var table=new Array(10);//Die Tabelle hat 10 Zeilen
for(var i=0;i Tabelle [i]=new Array(10); // Jede Zeile hat 10 Spalten
//Initialisiere das Array
for(var row=0;rowfor(var col=0;coltable[row][col]=row*col;
}
}
//Mehrdimensionale Array-Berechnung verwenden
var product=table[5][7];//Das Ergebnis ist 35
7. Array-Methode




1.join()
Alle Elemente konvertieren im Array in Zeichenfolgen umwandeln und diese miteinander verketten, um eine Zeichenfolge zurückzugeben. Geben Sie das Trennzeichen zum Trennen von Elementen an. Wenn nicht angegeben, werden die Elemente standardmäßig durch „“ getrennt.
var arr=[1,2,3];
arr.join();//“1,2,3“
arr.join(“_“);//“1_2_3“


2.reverse()
Kehrt die Reihenfolge der Elemente im Array um, gibt das umgekehrte Array zurück und das ursprüngliche Array wird geändert
var arr=[1,2,3] ;
arr .reverse();//[3,2,1]




3.sort()
Elemente im Array sortieren und zurückgeben das sortierte Array und das ursprüngliche Array wird geändert. Wenn das Element undefiniert ist, wird es bis zum Ende sortiert
arr=["a","c","b"]
arr.sort();//["a","b ", "c"] Wenn diese Methode ohne Parameter aufgerufen wird, werden die Elemente in alphabetischer Reihenfolge sortiert

arr=[13,24,51,3];
arr.sort();// [13, 24,3,51] Wandeln Sie die Zahlen in Zeichenfolgen um und vergleichen Sie sie. Die erste Ziffer jeder Zahl wird von klein nach groß sortiert

arr.sort(function(a,b){
return a-b;/ /Gemäß der Reihenfolge, [3,13,24,51]
})

arr.sort(function(a,b){
return b-a;// Umgekehrte Reihenfolge, [51,24, 13,3]
})



4.concat()
Arrays zusammenführen, das ursprüngliche Array wird nicht verändert

var arr=[1,2 ,3];
arr.concat(4,5);//[1,2,3,4,5]
arr.concat([4,5 ],6);//[1, 2,3,4,5,6] Wenn der Parameter ein Array ist, wird das Array abgeflacht
arr.concat(4,[5,[6,7]] );//[1,2,3,4, 5,[6,7]] Wenn der Parameter ein Array ist und das Array-Element immer noch ein Array ist, wird das Array nicht zweimal reduziert




5.slice()
Gibt das angegebene A-Fragment oder Unterarray eines Arrays zurück. Seine beiden Parameter geben die Anfangs- und Endpositionen des Fragments an, normalerweise die links-geschlossene und die rechte -offene Intervalle. Das ursprüngliche Array wurde nicht geändert

var arr=[1,2,3, 4,5]; ]
arr.slice(1);//[2,3,4,5] hat nur einen Parameter. Dieser Parameter wird als Startposition betrachtet und die Endposition ist das Ende des Arrays
arr .slice(1,-1);//[2,3,4] Negative Zahlen repräsentieren die Position relativ zum letzten Element im Array, -1 repräsentiert 5 dieses Element
arr.slice(-4,-3 );//[2]




6.splice()
Einfügung oder Elemente werden gelöscht und das ursprüngliche Array wird geändert

var arr= [1,2,3,4,5]
arr.splice(2);//[3,4,5] wird aus den ersten Elementen von zwei Positionen bis zum Ende gelöscht

arr. splice(2,2);//[3,4] Der zweite Parameter gibt die Anzahl der zu löschenden Elemente an, d. h. zwei Elemente werden ab der zweiten Position gelöscht Element

arr.splice(1,1 ,"a","b"); //[2] Löschen Sie ein Element an der ersten Position und fügen Sie „a“ und „b“ ein
arr;//[1, „a“, „b“,3 ,4,5]



7.push() und pop()
Wenn Sie ein Array als Stapel verwenden, wird das ursprüngliche Array geändert.
push() fügt ein oder mehrere Elemente am Ende des Arrays hinzu und gibt die neue Länge des Arrays zurück;
pop() löscht das letzte Element des Arrays, reduziert die Länge des Arrays und gibt die gelöschte zurück value

var stack=[];
stack.push(1,2);//Gib die Array-Länge 2 zurück
stack.pop();//Gib das gelöschte Element 2 zurück end



8.unshift() und shift()
unshift() fügt ein oder mehrere Elemente zum Kopf des Arrays hinzu und gibt die neue Länge des Arrays zurück; >shift() löscht das erste Element des Arrays und gibt den gelöschten Wert zurück

var arr=[];//Gibt die Array-Länge 1 zurück
arr.unshift (22);//Gibt die Array-Länge 2 zurück, zu diesem Zeitpunkt arr= [22,2]
arr.shift();//Gibt das Element mit gelöschtem Kopf zurück 22




9.toString() und toLocaleString()
toString() konvertiert das Array in einen String, getrennt durch ","
toLocaleString() konvertiert das Array in einen String und verwendet das lokalisierte Trennzeichen

[1,[2,"c ”]].toString()//returns „1,2,c“





8 . Array-Methoden in ECMAScript5
ECMAScript5 definiert 9 neue Array-Methoden zum Durchlaufen, Zuordnen, Filtern, Erkennen, Vereinfachen und Durchsuchen von Arrays

1.forEach()
Array-Traversierung, der Parameter ist eine Funktion. Diese Funktion kann mit drei Parametern aufgerufen werden: dem Element, dem Index und dem Array selbst.

var arr=[1,2,3,4,5];
var sum=0;
arr.forEach(function(value){
sum+=value; Traverse the Array und addiere jeden Wert zur Summe
});
sum;//15

arr.forEach(function(v,I,a){ //Aufruf mit 3 Parametern Diese Funktion: Elemente , Indizes, das Array selbst
a[i]=v+1;
})



PS: Diese Methode kann die Durchquerung nicht vorzeitig beenden, wie zum Beispiel in einem try-Block
function foreach(a,f,t){
try{
a.forEach(f,t);
}catch(e){
if(e= =foreach.break)return;
else throw e; >Array-Zuordnung, das ursprüngliche Array wurde nicht geändert

var arr=[1,2,3];
arr.map(function(x){
return x+10;
});//Return [11,12,13]



3.filter()
Array-Filterung, das ursprüngliche Array wurde nicht geändert, das zurückgegebene Array ist immer dicht

var arr=[1,2,3,4,5,6,7,8,9,10];
arr.filter(function(x,index ){
return index%3==0||x>=8;
});//[1,4,7,8,9,10]

4.every( ) and some()
Die logische Beurteilung des Arrays gibt „wahr“ oder „falsch“ zurück, und sobald der Wert, der zurückgegeben werden soll, bestätigt ist, stoppt das Durchlaufen des Arrays
every() entspricht dem logischen „AND“, nur wenn alle Elemente aufgerufen werden Die Beurteilungsfunktion gibt „true“ zurück, bevor sie „true“ zurückgibt
some() entspricht dem logischen „OR“. Wenn mindestens ein Element die Beurteilungsfunktion aufruft und „true“ zurückgibt, gibt sie „true“ zurück

var arr=[1, 2,3,4 ,5];
arr.every(function(x){
return x<10;
});//true
arr.every(function(x){
return x< ;3;
});//false

var arr=[1,2,3,4,5];
return x ==3;
});//true
arr.every(function(x){
return x==10;
});//false

PS: Bei Aufruf für ein leeres Array. every() gibt true zurück, some() gibt false zurück

5.reduce() und ReduceRight()
Verwenden Sie die angegebene Funktion, um die Array-Elemente zu kombinieren, um einen einzelnen Wert zu erzeugen. Das ursprüngliche Array wird nicht geändert
Reduce() hat zwei Parameter. Der erste ist die Funktion, die die Reduktionsoperation ausführt. Der zweite optionale Parameter ist der Anfangswert, der an die Funktion übergeben wird.
Die Reduktionsoperation von ReduceRight() erfolgt von rechts nach links. und der Rest ist derselbe wie Reduce () Gleich wie

var arr=[1,2,3];
var sum=arr.reduce(function(x,y){
return x+y;
}, 0);//Gib 6 zurück, also von links nach rechts 0+1=1, 1+2=3, 3+3=6

var sum= arr.reduceRight(function(x,y){
return x+y;
});//Gib 6 zurück, also von rechts nach links 3+2=5,5+1=6
6.indexOf() und lastIndexOf()
Array-Abruf, gibt den Index des ersten gefundenen Elements zurück oder -1, wenn keines vorhanden ist.
indexOf() sucht von Anfang bis Ende.
lastIndexOf() sucht von hinten nach vorne

var arr=[ 1,2,3,2,1]; (4);//Suchen Sie den Index von Element 4, weil Existiert nicht, gibt -1 zurück
arr.indexOf(1,1);//Suchen Sie den Index von Element 1, beginnen Sie an der ersten Position, geben Sie 4 zurück
arr.indexOf(1,-3);//Suchen Sie den Index von Element 1, beginnen Sie an der drittletzten Position, geben Sie 4 zurück
arr.lastIndexOf(2,-2);//Finden Sie den Index von Element 2 , beginnen Sie mit der Suche ab der vorletzten Ziffer und suchen Sie von hinten nach vorne. Geben Sie 3


9 zurück. Array-Typ
Array.isArray([]);//true
Array .isArray( {});//false

[]instanceof Array;//true
({})instanceof Array;//false

({}).toString. apply([ ])===“[object Array]“;//true

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