Maison  >  Article  >  interface Web  >  Résumé des méthodes de tableau en javascript (avec code)

Résumé des méthodes de tableau en javascript (avec code)

不言
不言original
2018-08-28 17:39:001117parcourir

Ce que cet article vous apporte est un résumé des méthodes de tableau en JavaScript (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La méthode 1.copyWithin() modifiera le tableau d'origine
copiera les deux premiers éléments du tableau dans les deux derniers éléments :
array.copyWithin(target, start, end)
paramètres Description
cible Obligatoire. Copier vers l'emplacement d'index cible spécifié.
démarrer Facultatif. La position de départ pour la copie des éléments.
fin Facultatif. La position de l'index pour arrêter la copie (par défaut, array.length). S'il s'agit d'une valeur négative, elle représente la valeur réciproque.

var arr = [1,2,3,4,5];
arr.copyWithin(3,0,2);
console.log(arr);  //1,2,3,1,2

2.every(function(){}) ne changera pas le tableau d'origine
Exécutez une fonction pour chaque élément du tableau, et si chaque élément renvoie true, alors retournez true

var arr=[1,2,3,4,5];
var result=arr.every(function(item){
  return item>1;
})
console.log(result);  //false
3.some(function(){}) Cela ne changera pas le tableau d'origine

Exécutez une fonction pour chaque élément du tableau Si un élément renvoie vrai, il retournera vrai ;

var arr=[1,2,3,4,5]
var result=arr.some(function(item){
  return item>1;
})
console.log(result)  //true
4.fill() L'utilisation d'une valeur fixe pour remplir le tableau modifiera le tableau d'origine

array.fill(value, start, end)
Description du paramètre
valeur obligatoire. La valeur à remplir.
le démarrage est facultatif. Commencez à pourvoir le poste.
la fin est facultative. Arrêtez de remplir la position (la valeur par défaut est array.length)

var arr=[1,2,3,4,5];
arr.fill("哈哈",0,3);
console.log(arr);  //[ '哈哈', '哈哈', '哈哈', 1, 2 ]
5.filter() ne modifiera pas le tableau d'origine

Créez un nouveau tableau Les éléments du nouveau tableau correspondent en vérifiant que le. Le tableau spécifié correspond à tous les éléments de la condition.
Remarque : filter() ne détectera pas les tableaux vides.

var ages = [22, 53, 16, 40];
var ar5=ages.filter(function(age){
  return age>30;
})
console.log(ar5) //[ 53, 40 ]
6.find() ne changera pas le tableau d'origine

Renvoie la valeur du premier élément du tableau qui réussit le test (jugement au sein de la fonction).
La méthode find() appelle une exécution de fonction une fois pour chaque élément du tableau :
Lorsqu'un élément du tableau renvoie vrai lors du test de la condition, find() renvoie l'élément qui remplit la condition et les valeurs suivantes n'appellera pas ensuite la fonction d'exécution.
S'il n'y a aucun élément qui remplit les conditions, undefined est renvoyé
Remarque : La fonction find() ne sera pas exécutée pour un tableau vide.

var num = [212, 537, 160, 401];
function odd(x){
  return x%2;
}
var ar6=num.find(odd);
console.log(ar6);   //537
7.findIndex() ne changera pas le tableau d'origine

Renvoie la position du premier élément du tableau passé dans une condition de test (fonction) qui remplit la condition.
La méthode findIndex() appelle une exécution de fonction une fois pour chaque élément du tableau :
Lorsque l'élément du tableau renvoie vrai lors du test de la condition, findIndex() renvoie la position d'index de l'élément qui remplit la condition , puis La valeur n'appellera plus la fonction d'exécution.
S'il n'y a aucun élément qui remplit les conditions, -1 est renvoyé
Remarque : La fonction findIndex() ne sera pas exécutée pour un tableau vide.

var num = [212, 537, 160, 401];
function odd(x){
  return x%2;
}
console.log(num.findIndex(odd)); //1
8.indexOf() ne changera pas le tableau d'origine

Recherchez l'élément dans le tableau et renvoyez sa position.

var num = [212, 537, 160, 401];
console.log(num.indexOf(160));  //2
9.lastIndexOf() ne modifiera pas le tableau d'origine

Renvoie la dernière position où une valeur de chaîne spécifiée apparaît, en recherchant de l'arrière vers l'avant à la position spécifiée dans une chaîne.

var num = [212, 537, 160, 401];
console.log(num.indexOf(160));  //
10.join() changera le tableau d'origine

et convertira le tableau en chaîne. Les éléments sont séparés par le délimiteur spécifié. Sinon, la valeur par défaut est la virgule
toString. () Changera le tableau d'origine
Convertira le tableau en chaîne et renverra le résultat, sans paramètres

var num = [212, 537, 160, 401];
console.log(num.join());  //212,537,160,401
11.map() Ne changera pas le tableau d'origine

Traite chaque élément de le tableau via l'élément de fonction spécifié et renvoie le tableau traité

var arr=[12,23,45,56,78];
var arr1=arr.map(function(x){
  return x+1;
})
console.log(arr1);  //[ 13, 24, 46, 57, 79 ]
console.log(arr);   //[ 12, 23, 45, 56, 78 ]
12.forEach() ne changera pas le tableau d'origine La méthode

est utilisée pour appeler chaque élément du tableau et le transmettre. l'élément à la fonction de rappel.
Remarque : forEach() n'exécutera pas la fonction de rappel pour un tableau vide

var num=[ 212, 537, 160, 401 ];
num.forEach(function(num){
  return num/2;
})
console.log(num);  //[ 212, 537, 160, 401 ]
13.reduce() ne modifiera pas le tableau d'origine

Reçoit une fonction comme accumulateur, et le Chaque valeur (de gauche à droite) commence à diminuer et compte finalement pour une valeur.
reduce() peut être utilisé comme fonction d'ordre supérieur pour composer des fonctions.
Remarque : réduire() n'exécutera pas la fonction de rappel pour un tableau vide

var arr=[ 12, 23, 45, 56, 78 ];
var arr2=arr.reduce(function(total,item){
  return total-item;
})
console.log(arr2); //-190
console.log(arr);  //[ 12, 23, 45, 56, 78 ]
14.reduceRight() ne modifiera pas le tableau d'origine

La fonction est la même que réduire() . La différence est que réduireRight() accumule les éléments du tableau à partir de la fin du tableau.
Remarque : réduire() n'exécutera pas la fonction de rappel pour un tableau vide

var arr=[ 12, 23, 45, 56, 78 ];
var arr2=arr.reduceRight(function(total,item){
  return total-item;
})
console.log(arr2);  //-58
console.log(arr);   //[ 12, 23, 45, 56, 78 ]
15.pop() modifiera le tableau d'origine

supprimera le dernier élément du tableau et renverra le élément supprimé. Sans paramètres
shift() modifiera le tableau d'origine
supprimera et renverra le premier élément du tableau. Sans paramètres,
push() modifiera le tableau d'origine
en ajoutant un ou plusieurs éléments à la fin du tableau et renverra la nouvelle longueur. Le paramètre est l'élément à ajouter, qui peut être un ou plusieurs
unshift() modifiera le tableau d'origine
, ajoutera un ou plusieurs éléments au début du tableau et renverra la nouvelle longueur. Le paramètre est l'élément à ajouter, qui peut être un ou plusieurs

16.sort()      会改变原数组
对数组的元素进行排序,只能是一位数,如果是两位数会按字典序排列,改进:加一个回调函数

var arr2=[2,8,45,12,5,67,9];
arr2.sort(function(a,b){
  return a-b;
});
console.log(arr2);  //[ 2, 5, 8, 9, 12, 45, 67 ]

17.reverse()    会改变原数组
反转数组的元素顺序

var arr2=[ 2, 5, 8, 9, 12, 45, 67 ];
arr2.reverse();
console.log(arr2);    //[ 67, 45, 12, 9, 8, 5, 2 ]

18.valueOf()         不会改变原数组
返回数组对象的原始值,一般原样返回

var arr2=[ 67, 45, 12, 9, 8, 5, 2 ];
arr2.valueOf();
console.log(arr2);  //[ 67, 45, 12, 9, 8, 5, 2 ]
// 可以自己定义一个对象的valueOf()方法来覆盖它原来的方法。
// 这个方法不能含有参数,方法里必须return一个值。
var x = {};
x.valueOf = function(){
    return 10;
}
console.log(x+1);// 输出10
console.log(x+"hello");//输出10hello

19.slice()       不会改变原数组
选取数组的的一部分,并返回一个新数组。
array.slice(start, end)
参数        描述
start       可选。规定从何处开始选取(包括)。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元                 素,-2 指倒数第二个元素,以此类推。
end         可选。规定从何处结束选取(不包括)。该参数是数组片断结束处的数组下标。
                如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。
                如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

var arr2=[ 67, 45, 12, 9, 8, 5, 2 ];
console.log(arr2.slice(1,4));  //[ 45, 12, 9 ]
console.log(arr2);     //[ 67, 45, 12, 9, 8, 5, 2 ]

20.splice()    会改变原始数组
方法用于插入、删除或替换数组的元素。
array.splice(index,howmany,item1,.....,itemX)
参数                       描述
index                     必需。规定从何处添加/删除元素。
                              该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany               必需。规定应该删除多少元素。必须是数字,但可以是 "0"。
                              如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
item1, ..., itemX     可选。要添加到数组的新元素

arr3=[2,3,4,5,6,7,8];
//删除
arr3.splice(2,3);
console.log(arr3);   //[ 2, 3, 7, 8 ]
//增加
arr3.splice(1,0,9,10);
console.log(arr3);  //[ 2, 9, 10, 3, 7, 8 ]
//替换
arr3.splice(0,3,8,7,3);  //[ 8, 7, 3, 3, 7, 8 ]
console.log(arr3);

最后再小结一下:

会改变原数组的方法:copyWithin()、fill()、join()、pop()、push()、shift()、unshift()、sort()、reverse()、splice();

不会改变原数组的方法:every()、some()、filter()、find()、findIndex()、indexOf()、lastIndexOf()、map()、forEach()、reduce()、reduceRight()、valueOf()、slice();

相关推荐:

对JavaScript数组的方法总结

JavaScript数组中的indexOf方法

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