Maison > interface Web > js tutoriel > le corps du texte

Résumé des méthodes API courantes et des méthodes de traversée pour les tableaux JavaScript (avec exemples)

不言
Libérer: 2019-04-11 10:36:00
avant
2126 Les gens l'ont consulté

Cet article vous présente un résumé des méthodes API et des méthodes de traversée courantes pour les tableaux JavaScript (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Array (array)

ES5 *

map

Syntaxe : [].map(function(item, index, array) {return xxx} )
Fonction : Parcourez le tableau et renvoyez un nouveau tableau composé de la valeur de retour de rappel. Le tableau d'origine ne sera pas modifié et le tableau vide ne sera pas détecté

forEach

. Syntaxe : [].forEach( function(item, index, array) {})
Fonction : Impossible de casser, vous pouvez utiliser throw new Error dans try/catch pour arrêter sans modifier le tableau d'origine

filter

Syntaxe : [].filter(function(item, index, array) {})
Fonction : filtre, renvoie le tableau filtré, ne modifie pas le tableau d'origine et ne détectera pas les tableaux vides

par exemple :

const data = [-8, 9, 5, 3];
const res = data.filter(function(item) {
    if (item > 3) {
      return item
    }
});
console.log(res); // [9, 5]
Copier après la connexion

certains

Syntaxe : [].some(function(item, index, array) {})
Fonction : Si un élément renvoie vrai, alors le tout est vrai, 不改变原数组

chaque

Syntaxe : [].every(function(item, index, array) {})
Fonction : Toutes les conditions doivent être remplies pour renvoyer vrai. Si un élément renvoie faux, l'ensemble est faux. >join不改变原数组

Syntaxe :

Fonction : Renvoie le tableau concaténé en chaîne en spécifiant le connecteur str,

[].join(str)
push / pop不改变原数组

Syntaxe :

Fonction : Push à la fin du tableau push et pop, renvoie l'élément longueur/pop du tableau modifié,

[].push(item)   /  [].pop(item)
unshift/shift改变原数组

Syntaxe :

Fonction : Poussez la tête du tableau en unshift et Pop shift et renvoie la longueur/l'élément pop-up du tableau modifié,

[].unshift(item)   /  [].shift(item)
sort(fn) / reverse改变原数组

Syntaxe :

Fonction : Trier et inverser selon des règles,

[].sort(fn)   [].reverse()
splice改变原数组

Syntaxe :

Fonction : Renvoie un tableau composé des éléments supprimés, supprimez les

valeurs à partir de [].splice(start, number, value1, value2...) et insérez
Liste de paramètres dans le tableau, startnumbervalueNconcat改变原数组

Syntaxe :

Fonction : Connecter n (n >= 2) tableaux, renvoyer le tableau après concaténation Copie de tableau, copie superficielle,

[].concat([])
slice不改变原数组

Syntaxe :

Fonction : Renvoie le nouveau tableau tronqué,

[].slice(start, end)
indexOf / lastIndexOf(value, fromIndex)不改变原数组

Syntaxe :

Fonction :

Rechercher un élément du tableau[].indexOf(value[, fromIndex])indexOf Search en arrière à partir de
(la valeur par défaut est 0)

lastIndexOf recherche en avant à partir de fromIndex (la valeur par défaut est -1) value
renvoie l'indice correspondant à la valeur fromIndexvalueréduire / réduireRight

Syntaxe :

Fonction : Exécuter par paires, prev est la valeur de retour de la dernière fonction simplifiée, cur est la valeur actuelle (à partir du deuxième élément)

Paramètres de la fonction de rappel : valeur précédente (previousValue), valeur actuelle (currentValue), index La valeur (currentIndex) et le tableau lui-même (array)reduce / reduceRight(callback[, initialValue])initialValue valeur initiale facultative, comme valeur transmise à previousValue lorsque la fonction de rappel est appelée la première fois. Autrement dit, transmettez la valeur de départ (bonus supplémentaire) pour les opérations telles que l'accumulation

reduceRight commence à partir de la fin du tableau

isArray *

Syntaxe :

Fonction : utilisée pour déterminer si la valeur du paramètre est un tableau

Array.isArray(value)ES6

find *

ind(fn)`

Fonction : renvoie le premier qualifié Un élément de tableau


findIndex *item

Syntaxe :

Fonction : Renvoie le

[].findIndex(fn)
du premier élément de tableau qui remplit les conditions from *索引

Syntaxe :

Fonction : Convertir des objets de type tableau et des objets

traversables en tableaux réels [].fill(value[, start, end]) Couramment utilisé :
(iterable)
entrées *

const set = new Set(3, 8, 9, 0)
Array.from(set)
Copier après la connexion
Syntaxe :

Fonction : Itérateur de retour : Renvoie la paire clé-valeur

[].entries() [Note] La méthode
renvoie un attribut énumérable de l'objet donné lui-même Un tableau de clés -paires de valeurs, disposées dans le même ordre que celui renvoyé lors de l'utilisation d'une boucle for...in pour parcourir l'objet (la différence est que la boucle for-in énumère également les propriétés dans la chaîne de prototypes) [MDN]

et

are La méthode Object.entries(obj)keys/values ​​​​sur Array.prototype est similaire à
[].entries()
keys *

//数组
const arr = ['a', 'b', 'c'];
for(let v of arr.entries()) {
    console.log(v)
}
// [0, 'a'] [1, 'b'] [2, 'c']

//Set
const arr1 = new Set(['a', 'b', 'c']);
for(let v of arr1.entries()) {
    console.log(v)
}
// ['a', 'a'] ['b', 'b'] ['c', 'c']

//Map
const arr2 = new Map();
arr2.set('a', 'a');
arr2.set('b', 'b');
for(let v of arr2.entries()) {
    console.log(v)
}
// ['a', 'a'] ['b', 'b']
Copier après la connexion
Syntaxe :

Fonction : Itérateur de retour : clé de retour (c'est-à-dire au-dessus de la première valeur de chaque tableau)

[].keys()values

Syntaxe :

Fonction : Itérateur de retour : Valeur de retour (c'est-à-dire la valeur dans chaque tableau au-dessus de la deuxième valeur)

includes *

语法:[].includes(val[, fromIndex])
功能:用于从fromIndex判断数组中是否包含val,可替代ES5中的 indexOf

copyWithin

语法:[].copyWithin(target[, start[, end]])
功能:浅复制数组的一部分(start~end)到同一数组中的另目标位置target,返回改变后的数组,而不修改其大小;start默认为0, end默认为length-1; 改变原数组

of

语法:Array.of()
功能:创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型

Array构造函数 & Array.of() 区别
实例说明

Array.of(7);       // [7] 
Array.of(1, 2, 3); // [1, 2, 3]

Array(7);          // [ , , , , , , ]
Array(1, 2, 3);    // [1, 2, 3]
Copier après la connexion

fill

语法:[].fill(value[, start, end])
功能:用指定的元素填充数组,可用于初始化数组,返回改变后的数组,改变原数组
填充值(value),填充起始位置(start,默认为0),填充结束位置(end,默认为数组length)。

遍历

数组

map/forEach/some/every/filter 见上

for

for...in

遍历所有可枚举属性,常用于遍历对象Object

for...of

遍历所有可迭代iterable的对象

对象【属性】

for...in

循环遍历对象自身的和继承的可枚举属性(不含Symbol属性)【可枚举 - Symbol】

Object.keys(obj)

返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)【自身可枚举 - Symbol】

Object.getOwnPropertyNames(obj)

返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性)【自身 - Symbol】

Object.getOwnPropertySymbols(obj)

返回一个数组,包含对象自身的所有Symbol属性【自身的Symbol】

Reflect.ownKeys(obj)

返回一个数组,包含对象自身的所有属性,不管是属性名是Symbol或字符串,也不管是否可枚举  【自身所有】

【相关推荐:JavaScript视频教程

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!