Maison  >  Article  >  interface Web  >  Quelle est la différence entre les fonctions slice, splice et split dans js

Quelle est la différence entre les fonctions slice, splice et split dans js

一个新手
一个新手original
2017-09-09 10:49:062456parcourir

Je me sens tellement confuse à chaque fois que je rencontre ces trois valeurs. Il est difficile de les distinguer à chaque fois. Je ne sais même pas comment l'utiliser. Enfin, résumons aujourd’hui.

  1. slice()
    Remarque : Cette méthode ne modifie pas le tableau d'origine. L'en-tête du paramètre n'inclut pas
    arrayObject.slice(start,end);
    peut intercepter à la fois les chaînes et les tableaux. Ce qui est renvoyé est un nouveau tableau.
    La méthode slice() renvoie les éléments sélectionnés dans un tableau existant.
    Renvoie un nouveau tableau. Le paramètre start est l'indice de début du tableau d'interception, et le paramètre end est égal à la valeur de position du dernier caractère que vous souhaitez récupérer plus 1 (facultatif) (y compris l'en-tête mais pas la fin)
    Si le deuxième paramètre est omis , la valeur par défaut est le champ intercepté De la position de début à la position de fin
    tel que :

`//如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾
 var a=[1,2,3,4,5,6]; 
 var b=a.slice(0,3);  //[1,2,3] 
 var c=a.slice(3);    //[4,5,6]
//如果两个参数中的任何一个是负数,array.length会和它们相加,试图让它们成为非负数,举例说明: //当只传入一个参数,且是负数时,length会与参数相加,然后再截取 
var a=[1,2,3,4,5,6]; var b=a.slice(-1);  //[6]
//当只传入一个参数,是负数时,并且参数的绝对值大于数组length时,会截取整个数组
var a=[1,2,3,4,5,6];
var b=a.slice(-6);  //[1,2,3,4,5,6]
var c=a.slice(-8);  //[1,2,3,4,5,6]//当传入两个参数一正一负时,length也会先于负数相加后,再截取
var a=[1,2,3,4,5,6];var b=a.slice(2,-3);  //[3]//当传入一个参数,大于length时,将返回一个空数组
var a=[1,2,3,4,5,6];var b=a.slice(6);  //[]//截取一个字符串时var a="i am a boy";
var b=a.slice(0,6);  //"i am a"`

2 splice()
arrayObject.splice(index,howmany, item1,…..,itemX);
splice() ajoute/supprime des éléments du tableau, puis renvoie l'élément supprimé.
Remarque : cette méthode modifiera le tableau d'origine.
Les premier et deuxième paramètres sont obligatoires. Et cela différera selon que le deuxième paramètre est 0 ou non.
Comme suit
Le premier paramètre spécifie la position d'ajout/suppression d'éléments comme position de départ. Utilisez un nombre négatif pour spécifier la position à partir de la fin du tableau.
Le deuxième paramètre est le nombre d'éléments à supprimer. S'il est défini sur 0, l'élément ne sera pas supprimé
1. Supprimer - utilisé pour supprimer des éléments, deux paramètres, le premier paramètre (la position du premier élément à supprimer), le deuxième paramètre (l'élément à supprimer Nombre).

var lang = ['php', 'java', 'javascript'];  
var removed = lang.splice(1,1); //删除  
console.log(lang); // php, javascript  
console.log(removed); //java

2. Insérer - Insérez n'importe quel élément à la position spécifiée dans le tableau. Trois paramètres, le premier paramètre (la position réelle), le deuxième paramètre (0) et le troisième paramètre (l'élément inséré).

var insert = lang.splice(0, 0, 'asp'); //从第0个位置开始插入  
console.log(insert); //空数组  
console.log(lang); //asp, php,javascript

3. Remplacement - insérez n'importe quel élément d'élément dans la position spécifiée du tableau et supprimez n'importe quel nombre d'éléments en même temps, trois paramètres. Le premier paramètre (la position de départ), le deuxième paramètre (le nombre d'éléments à supprimer) et le troisième paramètre (pour insérer n'importe quel nombre d'éléments).

var replace = lang.splice(1,1,"c#","ruby"); //删除一项,插入两项  
console.log(lang);  //console.log(replace); //返回删除的项
split(); 
stringObject.split(separator,howmany)

Remarque : Si une chaîne vide ("") est utilisée comme séparateur, chaque caractère du stringObject sera divisé. String.split() fait le contraire de ce que fait Array.join.
est utilisé pour diviser une chaîne en un tableau de chaînes. Un tableau de chaînes. Le tableau est créé en divisant la chaîne stringObject en sous-chaînes aux limites spécifiées par le séparateur. Les chaînes du tableau renvoyé n'incluent pas le séparateur lui-même.
Cependant, si le séparateur est une expression régulière contenant des sous-expressions, alors le tableau renvoyé inclut des chaînes correspondant à ces sous-expressions (mais pas du texte correspondant à l'intégralité de l'expression régulière).
1. Si "." est utilisé comme séparation, il doit être écrit comme suit : String.split("."), afin qu'il puisse être séparé correctement. ;
2. Si "|" est utilisé comme séparation, il doit être écrit comme suit : String.split("|"), afin qu'il puisse être séparé correctement. used;
3. Si "" est utilisé comme séparation, il doit être écrit comme suit : String.split(), afin qu'il puisse être séparé correctement. String.split("") ne peut pas être utilisé ; 🎜> ".", "|" et "" sont tous des caractères d'échappement et doivent être ajoutés avec ""
3. S'il y a plusieurs délimiteurs dans une chaîne, vous pouvez utiliser "|" , tel que : "acount=? and uu =? or n= ?", pour séparer les trois, vous pouvez utiliser String.split("and|or");

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn