L'ajout et la suppression d'éléments du tableau js ont toujours été déroutants. Aujourd'hui, j'ai enfin trouvé des informations détaillées. Veuillez d'abord me donner le code pour tester ^-^
.
var arr = new Array(); arr[0] = "aaa"; arr[1] = "bbb"; arr[2] = "ccc"; //alert(arr.length);//3 arr.pop(); //alert(arr.length);//2 //alert(arr[arr.length-1]);//bbb arr.pop(); //alert(arr[arr.length-1]);//aaa //alert(arr.length);//1 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]);//undefined
shift : supprime le premier élément du tableau d'origine et renvoie la valeur de l'élément supprimé ; si le tableau est vide, il renvoie undéfini
var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1
unshift : ajoute des paramètres au début du tableau d'origine et renvoie la longueur du tableau
var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
Remarque : la valeur de retour du test sous IE6.0 est toujours indéfinie et la valeur de retour du test sous FF2.0 est de 7, donc la valeur de retour de cette méthode n'est pas fiable Lorsque la valeur de retour est nécessaire, splice peut être utilisée. au lieu de cette méthode.
pop : supprime le dernier élément du tableau d'origine et renvoie la valeur de l'élément supprimé ; si le tableau est vide, il renvoie undéfini
var a = [1,2,3,4,5]; var b = a.pop(); //a:[1,2,3,4] b:5 //不用返回的话直接调用就可以了
push : ajoute des paramètres à la fin du tableau d'origine et renvoie la longueur du tableau
var a = [1,2,3,4,5]; var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
concat : renvoie un nouveau tableau, composé de l'ajout de paramètres au tableau d'origine
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,...) : supprimez les éléments deleteCount de la position de départ et insérez val1, val2,...
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); //同shift a.splice(0,0,-2,-1); var b = a.length; //同unshift var b = a.splice(a.length-1,1); //同pop a.splice(a.length,0,6,7); var b = a.length; //同push
reverse : inverser l'ordre du tableau
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) : Trie le tableau en fonction des paramètres spécifiés
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) : renvoie un nouveau tableau composé d'éléments compris entre l'index de début spécifié et l'index de fin dans le tableau d'origine
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) : combinez les éléments du tableau en une chaîne, en utilisant le séparateur comme séparateur. En cas d'omission, la virgule par défaut est utilisée comme séparateur
.
var a = [1,2,3,4,5]; var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
Donnez-moi une autre méthode d'utilisation de tableaux pour simuler javaStringBuffer afin de traiter des chaînes :
/** * 字符串处理函数 */ function StringBuffer() { var arr = new Array; this.append = function(str) { arr[arr.length] = str; }; this.toString = function() { return arr.join(""); //把append进来的数组ping成一个字符串 }; }
J'ai soudainement découvert que join est un bon moyen de convertir un tableau en chaîne dans mon application aujourd'hui, alors je l'ai encapsulé dans un objet et je l'ai utilisé :
/** * 把数组转换成特定符号分割的字符串 */ function arrayToString(arr,separator) { if(!separator) separator = "";//separator为null则默认为空 return arr.join(separator); } /** * 查找数组包含的字符串 */ function arrayFindString(arr,string) { var str = arr.join(""); return str.indexOf(string); }
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.