Das Hinzufügen und Löschen von js-Array-Elementen war immer verwirrend. Heute habe ich endlich detaillierte Informationen gefunden^-^
var arr2 = new Array();
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
//alert(arr2.length);//2
arr2.pop();
//alert(arr2.length);//1
arr2 = arr2.slice(0, arr2.length-1);
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
arr2 [2] = "ccc";
arr2 = arr2.slice(0,1);
alert(arr2.length);//1
alert(arr2[0]);//aaa
alert(arr2[1]);//undefiniert
Verschiebung: Löschen Sie das erste Element des ursprünglichen Arrays und geben Sie den Wert des gelöschten Elements zurück. Wenn das Array leer ist, wird undefiniert zurückgegeben
var a = [1,2,3,4,5];
var b = a.shift(); //a:[2,3,4,5] b:1
unshift: Parameter am Anfang des ursprünglichen Arrays hinzufügen und die Länge des Arrays zurückgeben
var a = [1,2,3,4,5];
var b = a.unshift(- 2,- 1); //a: [-2,-1,1,2,3,4,5] b: 7
Hinweis: Der Testrückgabewert unter IE6.0 ist immer undefiniert und der Test Rückgabewert unter FF2.0 Der Wert ist 7, daher ist der Rückgabewert dieser Methode unzuverlässig. Wenn Sie den Rückgabewert verwenden müssen, kann anstelle dieser Methode splice verwendet werden.
Pop: Löschen Sie das letzte Element des ursprünglichen Arrays und geben Sie den Wert des gelöschten Elements zurück. Wenn das Array leer ist, wird undefiniert zurückgegeben
var a = [1,2,3,4,5];
var b = a.pop(); //a:[1,2,3,4] b:5//Wenn Sie nicht zurückkehren müssen, rufen Sie es einfach direkt auf
push: Parameter am Ende des ursprünglichen Arrays hinzufügen und die Länge des Arrays zurückgeben
var a = [1,2,3,4,5];
var b = a.push(6 ,7) ; //a:[1,2,3,4,5,6,7] b:7
concat: Gibt ein neues Array zurück, das durch Hinzufügen von Parametern zum ursprünglichen Array
var a = [1,2,3,4,5];
var b = a.concat(6 , 7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
splice(start,deleteCount,val1,val2,...): Lösche deleteCount-Elemente von der Startposition und füge val1, val2,... ein
Übergeben Sie beim Löschen des Arrays einfach startIndex.
Wenn Sie nicht alle Elemente löschen möchten, übergeben Sie den Parameter deleteCount erneut.
Splice hat auch die Funktion, zuerst mehrere Elemente zu löschen und dann mehrere Elemente an den gelöschten Positionen hinzuzufügen. Die Anzahl der gelöschten und hinzugefügten Elemente muss ebenfalls nicht gleich sein zu dieser Zeit verwendet.
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7, 8,9,5] b:[3,4]
var b = a.splice(0,1); //Gleich wie shift
a.splice(0,0,-2,-1) ; var b = a.length;//Gleich wie unshift
var b = a.splice(a.length-1,1);//Gleiche wie pop
a.splice(a.length,0, 6,7 ); var b = a.length; //Gleiche wie push
reverse: Kehren Sie das Array um
var a = [1,2,3,4,5];
var b = a.reverse(); //a: [5,4,3, 2 ,1] b:[5,4,3,2,1]
sort(orderfunction): Sortieren Sie das Array nach den angegebenen Parametern
var a = [1,2,3,4,5];
var b = a.sort(); //a: [1,2,3,4,5] b:[1,2,3,4,5]
slice(start,end): Gibt ein neues Array zurück, das aus Elementen vom angegebenen Startindex bis zum Endindex im ursprünglichen Array besteht
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
join(separator): Kombinieren Sie die Elemente des Arrays zu einer Zeichenfolge und verwenden Sie dabei ein Trennzeichen als Trennzeichen. Wenn es weggelassen wird, wird das Standardkomma als Trennzeichen verwendet
var a = [1,2,3,4,. 5 ];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
Geben Sie mir eine andere Methode zur Verwendung von Arrays zur Simulation von JavaStringBuffer zur Verarbeitung von Zeichenfolgen:
/**
* String-Verarbeitungsfunktion
*/
function StringBuffer() {
var arr = new Array;
this.append = function(str) {
arr[arr.length] = str;
};
this.toString = function() {
return arr.join("");// Pingen Sie das angehängte Array in einen String
};
}
Ich habe plötzlich entdeckt, dass Join eine gute Möglichkeit ist, ein Array in eine Zeichenfolge in meiner heutigen Anwendung umzuwandeln, also habe ich es in ein Objekt gekapselt und verwendet:
/**
*Konvertieren Sie das Array in eine durch bestimmte Symbole getrennte Zeichenfolge
*/
function arrayToString(arr,separator) {
if(!separator) Separator = "";//Wenn Separator null ist, ist es standardmäßig leer
Rückgabe arr. beitreten(Trennzeichen);
}
/**
* Suchen Sie die im Array enthaltene Zeichenfolge
*/
function arrayFindString(arr,string) {
var str = arr.join("");
return str.indexOf(string);
}