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

Quelles sont les nouvelles méthodes des tableaux ECMA5 et les compétences d'imitation forEach() Implementation_javascript

WBOY
Libérer: 2016-05-16 15:33:56
original
1500 Les gens l'ont consulté

Ce qui suit est un exemple de code pour vous présenter l'implémentation d'imitation de la nouvelle méthode forEach() des tableaux ECMA5. Le code spécifique est le suivant,

.
var o = {
       forEach: function (callback) {
         // alert(this.length);
         for (var i = , len = this.length; i < len; i++) {
           callback && callback(this[i], i, this);
         }
       },
       get length(){
         var sum=;
         for(var n in this) {
           sum+=;
         }
         return sum;
       }
     };
     Object.defineProperty(o,"length",{enumerable:false});
     Object.defineProperty(o,"forEach",{enumerable:false});
     o[] = ;
     o[] = ;
     o[] = ;
     o.forEach(function(v,i,arr){
       arr[i]=v+;
       console.log(arr[i]+"callback");
     });
Copier après la connexion

Il est à noter :

1. Utilisation de la fonction de rappel

2.La signification des fonctions définirProperty et définirProperties

Ces deux fonctions peuvent définir les quatre caractéristiques principales des propriétés d'un objet : valeur, écriture, énumérabilité et configurabilité

J'ai encore un peu de temps pour vous présenter plusieurs nouvelles méthodes de tableaux en ECMA5 comme suit :

Quand je faisais des exercices aujourd'hui, je suis tombé sur fitter(); J'ai déjà vu ces nouvelles méthodes de tableaux, mais elles n'ont jamais été utilisées en combat réel, je vais donc les revoir aujourd'hui

pourEaach()

Cette méthode parcourt un tableau du début à la fin, puis appelle la fonction spécifiée pour chaque élément du tableau. Cette fonction sert de premier paramètre de foreach. La fonction appelée peut avoir trois paramètres, qui sont l'élément actuel du tableau, l'index de l'élément actuel et le tableau parcouru. S'il n'y a qu'un seul paramètre, alors ce paramètre est l'élément actuel du tableau.

var data = [1,2,3,4,5] ;
// 计算数组的和
var sum = 0 ; 
data.forEach(function(value){sum += value; }); // 这里的value 分别代指 data[0~4];
console.log( sum ) // 15
// 每个数组元素自加1
data.forEach(function(v, i, a){ a[i] = v + 1; }) // v 分别代指 data[0~4]; a 代指data;
map() ;
Copier après la connexion

La méthode map() transmet chaque élément du tableau appelé à la fonction spécifiée et renvoie un tableau (exactement au même format que le tableau appelant), qui contient la valeur de retour de la fonction. : Il doit avoir une valeur de retour et ne pas modifier le tableau à partir duquel il est appelé.

var a = [1,2,3];
b = a.map(function(x) { return x * x; });
filter() 
Copier après la connexion

La valeur de retour de cette fonction est un sous-ensemble de la fonction appelante, car l'expression fonctionnelle qui lui est transmise est utilisée pour faire des jugements logiques. Si elle est vraie, la valeur actuelle est poussée dans le tableau de sous-ensembles pour être renvoyée.

var getNum = function (a, b, k) {
return a.filter(function (v) {return b.indexOf(v) > -1;})[k-1];
}
var A = [3,4,5,6,7,8,9];
var B = [12,10,8,6];
console.log(getNum(A, B, 1))
console.log(getNum(A, B, 2));
every() some() ;
Copier après la connexion

Les paramètres de ces deux fonctions sont à la fois une fonction de jugement, qui juge les éléments du tableau, et la valeur de retour est vraie ou fausse ;

In each()Seulement lorsque tous les éléments du tableau appellent la fonction de jugement et renvoient true, la valeur de retour est quelque peu similaire à &;

 ;

Dans some(), tant qu'un élément du tableau appelle la fonction de jugement comme étant vraie, elle retournera vrai.

Étiquettes associées:
source:php.cn
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!