Dans le processus d'apprentissage de js, il est nécessaire de maîtriser les méthodes des tableaux js. J'ai résumé ici les méthodes couramment utilisées dans les tableaux js, afin que chacun puisse apprendre les uns des autres. Sans plus attendre, passons directement au texte principal.
1. Méthodes héritées par les objets js
Array est un objet spécial qui hérite de toString() et toLocaleString( de l'objet Object ) et la méthode valueOf()
1.toString()
la méthode toString renvoie une chaîne délimitée par des symboles concaténée par chaque valeur du tableau. La chaîne est la même que. la chaîne renvoyée par join() sans paramètres
[1,2,3].toString()//'1,2,3' ['a','b','c'].toString()//'a,b,c' [1,[2,3]].toString()//'1,2,3'
2.toLocaleString()
toLocaleString() est toString() La version localisée, dans des conditions normales, est identique à celui renvoyé par toString() Lorsque le nombre atteint plus de 3 chiffres, il est automatiquement formaté et la date peut également être formatée
var a = 3333; a.toLocaleString()//3,333 var b = new Date; b.toLocaleString()//2018/7/13 下午3:43:39
3.valueOf()
valueOf() se renvoie lorsqu'il s'agit d'objets de tableau
var a = [1,2,3]; a.valueOf()//[1,2,3]; a.valueOf() instanceOf() Array//true
2. Méthode de conversion de tableau js
<🎜. >1.join()
Array.join() est l'opération inverse de Array.split(). Le premier fusionne les tableaux en un seul dans les unités de paramètre (la valeur par défaut est la virgule) String, le second est. pour couper la chaîne dans un tableau. Prend en charge les tableaux et les objets de type tableau, mais ne prend pas en charge les objetsvar a = [1,2,3,4,5]; a.join()//'1,2,3,4,5' var b = [1,undefined,2,null,3]; b.join()//'1,,2,,3' var c = Array.prototype; c.join.call('hello','-')//'h-e-l-l-o' var d = {1:'a',2:'b',length:3}; d.join()//'a,b' var e = {1:'a',2:'b'}; e.join()//''
3. Méthode de fonctionnement de la structure de données du tableau js
Les données La structure du tableau est divisée en structure de pile (dernier entré, dernier sorti) et structure de file d'attente (premier entré, premier sorti)Structure de pile (dernier entré, dernier sorti) :
1.push()
push() ajoute un nombre quelconque de paramètres à la fin un par un, change le tableau d'origine, modifie la longueur du tableau et renvoie
var a = [1,2]; a.push('11,22') - a//3 - [1,2,33,44] var b = [3,4]; a.push([33.44]) - a//2 - [1,2,[33,44]] Array.prototype.push.apply(a,b)//[1,2,3,4] Array.prototype.push.call(a,b)//[1,2,[3,4]]
2.pop()
pop() supprime le dernier élément dans le tableau et renvoie la longueur du tableau, puis modifiez la longueur du tableau pour changer la structure de file d'attente du tableau d'originevar a = [1,2,3]; a.pop() - a//3 - [1,2]; //如果数组本身是空数组,则返回undefined var b = []; b.pop()//undefined
(avant, avant):
1.shift()
shift() supprime le premier élément du tableau, renvoie l'élément supprimé, puis modifie la longueur du tableau pour changer le tableauvar a = [1,2,3]; a.shift() - a//1 - [2,3];
2.unshift()
unshift() ajoute n'importe quel paramètre à la position de départ du tableau pour modifier la longueur du tableau, et renvoie la longueur du tableau pour changer le tableauvar a = [1,2,3]; a.unshift(4,5) - a//5 - [1,2,3,4,5]
4. méthode de tri des tableaux js
1.reverse()
reverse( ) est utilisé pour inverser l'ordre du tableau, modifier le tableau d'origine et renvoyer le tableau actuelvar a = [1,2,4,3,5]; a.reverse()// [5,3,4,2,1];
2.sort()
sort() change le tableau par ordre croissant par défaut, et le tri appellera toString()pour chaque élément du tableau par défaut
var a = [1,2,3,4,5]; a.sort() //[1,2,3,4,5] var b = [1,2,12,13]; c.sort() //[1,12,13,2] var c = [1,2,'1a','2b']; c.sort() //[1,'1a',2,'2b'];
<🎜. >
Si le tri a des paramètres (le paramètre doit être une fonction) ; si la valeur renvoyée par la fonction est un nombre positif ou si un paramètre moins le deuxième paramètre est dans l'ordre positif, sinon c'est dans l'ordre inverse. Si la chaîne est présente, elle sera minime. Mettez-le dans la position de départ dans l'ordrevar d = [1,3,undefined,2]; d.sort() //[1,2,3,undefined]
function sortNumber(a,b){ return b-a } var e = [1,2,3]; e.sort(sortNumber)//[3,2,1]; var f = ['1a',1,'2b',2,3]; f.sort()//['1a','2b',3,2,1];
function sortRandom(a,b){ return Math.random()-0.5 } var g = [1,2,3,4,5]; g.sort(sortRandom)//[2,1,5,4,3](此为随机顺序)
La méthode concat() crée un nouveau tableau basé sur le tableau actuel et place les paramètres reçus à la fin, sans affecter le tableau d'origine
var a = [1,2]; b = [3,4]; a.concat - a//[1,2,3,4] - [1,2];五.创建子数组方法
slice() intercepte la position de départ du premier paramètre et le chiffre de fin du deuxième paramètre. et créez un nouveau tableau. S'il n'y a pas de paramètres, il s'agit d'intercepter toutes les
var a = [1,2,3,4,5];a.slice(2,4)//[3,4,5] var a = [1,2,3,4,5];a.slice(2)//[3,4,5] var a = [1,2,3,4,5];a.slice(-3)//[3,4,5] var a = [3,4,5];a.slice()//[3,4,5]
Méthode de suppression du tableau 5.js
1.splice ()splice() reçoit trois paramètres. Le premier paramètre est requis pour la position. Le deuxième paramètre est requis pour le numéro à supprimer. S'il n'y a qu'un seul paramètre, tous les tableaux le seront. supprimé. Le deuxième paramètre sera supprimé. Les paramètres suivants sont facultatifs pour les nouveaux éléments. Ce qui est renvoyé est le tableau supprimé
var a = [1,2,3]; a.splice(2,0,1)-a//[]-[1,2,1,3]; var b = [1,2,3]; a.splice(2,1,1)-a//[3]-[1,2,1]; var c = [1,2,3]; a.splice(2)-a//[1,2,3]-[] var d = [1,2,3]; a.splice(2,1,4,5)-a//[3]-[1,2,4,5]
indexOf() renvoie la position où le premier paramètre apparaît pour la première fois. n apparaît, ce qui est renvoyé c'est que l'élément avant le nième élément ne compte pas s'il apparaît pour la première fois
var a = ['a','b','c',a,2,3]; a.indexOf('a')//0 var a = ['a','b','c',a,2,3]; a.indexOf('a',1)//4 var a = ['a','b','c',1,2,3]; a.indexOf('a',-5)//0
La différence entre lastIndexOf() et indexOf() est : recherche de droite à gauche
var a = ['a','b','c',a,2,3]; a.indexOf('a')//4 var a = ['a','b','c',a,2,3]; a.indexOf('a',1)//0 var a = ['a','b','c',a,2,3]; a.indexOf('a',-1)//0
Méthode de fusion de tableaux 6.js
1.reduce()Le premier paramètre de la méthode réduire() consiste à parcourir le tableau de fonctions spécifié et à le combiner dans un formulaire personnalisé pour générer une valeur unique. Il reçoit quatre paramètres (variable initiale, variable actuelle, index actuel, objet tableau d'origine). Le deuxième paramètre de réduire spécifie une valeur initiale à saisir.
var a = [1,2,3,4,5]; a.reduce(function(x,y){return x+y}) // 15 a.reduce(function(x,y){return x+y},3)//18
reduceRight() est différent de réduire() en ce sens que la valeur de l'indice va de haut en bas
a.reduce(function(x,y){console.log(x,y);return x+y},0) // 5,4 9,3 12,2 14,1 15,0
Méthodes d'itération du tableau Seven.js
1.map()map() donne à chacun élément du tableau de fonctions Un élément exécute la fonction spécifiée et renvoie les résultats de chaque appel de fonction sous forme de tableau
var a = [1,2,3]; a.map(function(item,index,arr){return item*2}) //[2,4,6] var b = ['aa','bb','cc']; a.map(function(item,index,b){return this[item]}) //['aa','bb','cc'];
map()日常中多用于去解析对象中的属性
var c = {[name:1,value:2],[name:11,value:22]} c.map(function(item){return item.name})//[1,11]
2.forEach()
forEach()给函数数组的每一项运行指定的函数(于map()对比不同于没有返回值)。forEach()可接受第二参数,用来改变this的指向。
var a = { name:'111', arr:[1,2,3], value:function(){ console.log(this); this.arr.forEach(function(){ console.log(this); }) } }//循环外this指向value方法,循环内指向a对象 var b = { name:'111', arr:[1,2,3], value:function(){ console.log(this); this.arr.forEach(function(){ console.log(this); },this) } }//全文的this全部都指向对象a
3.filter()
filter()给函数数组的每一项运行指定的函数,并返回制定规则返回True的项的数组。该方法多用于查询,第二个参数值指定this指向
var a = [1,2,3];a.filter(function(item){return item>1)//[2,3];
4.some()
filter()给函数数组的每一项运行指定的函数进行筛选,如果都返回false,则返回false。反之则返回true
a = [1,2,3,4,5]; a.some(function(item){return item === 3;})//true a.some(function(item){return item === 6;})//false
5.every()
every()给函数数组的每一项运行指定的函数进行筛选,如果有返回false,则返回false。反之如果全部返回true,则返回true;空数组会返回true
a = [1,2,3,4,5]; a.every(function(item){return item === 3;})//false a.every(function(item){return item < 6;})//true
相关推荐:
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!