web-dev-qa-db-fra.com

Comment utiliser forEach in vueJs?

J'ai une réponse comme ci-dessous d'un appel API,

response

Maintenant, je dois répéter les tableaux entiers à l'intérieur des tableaux. Comment puis-je faire cela dans VueJS?

J'ai cherché en utilisant forEach .. nulle part j'ai trouvé pourChaque utilisation comme paire paire valeur /.

Quelqu'un peut-il m'aider sur la façon d'extraire les valeurs de ces tableaux en utilisant soit forEach, soit aucun autre (VueJS)?

Merci et salutations

14
Jaccs

Dans VueJS vous pouvez utiliser forEach comme ci-dessous.

let list=[];
$.each(response.data.message, function(key, value) {
     list.Push(key);
   });

Donc, maintenant vous pouvez avoir tous les tableaux dans la liste . utilisez pour boucle pour obtenir des valeurs ou des clés

14
rahul

Vous pouvez également utiliser .map () comme:

var list=[];

response.data.message.map(function(value, key) {
     list.Push(value);
   });
18
Arun D Nambissan

Voici un exemple d'utilisation de forEach:

let arr = [];

this.myArray.forEach((value, index) => {
    arr.Push(value);
    console.log(value);
    console.log(index);
});

Dans ce cas, "myArray" est un tableau sur mes données.

Vous pouvez également parcourir un tableau en utilisant le filtre , mais celui-ci doit être utilisé si vous souhaitez obtenir un nouveau list avec des éléments filtrés de votre tableau.

Quelque chose comme ça:

const newArray = this.myArray.filter((value, index) => {
    console.log(value);
    console.log(index);
    if (value > 5) return true;
});

et le même peut être écrit comme:

const newArray = this.myArray.filter((value, index) => value > 5);

Les méthodes filter et forEach sont toutes deux des méthodes javascript et fonctionnent parfaitement avec VueJs. En outre, il pourrait être intéressant de regarder ceci:

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

7
Carolyne Stopa

Vous pouvez utiliser la fonction javascript native

var obj = {a:1,b:2};

Object.keys(obj).forEach(function(key){
    console.log(key, obj[el])
})

ou créer un prototype d'objet poureach, mais cela pose généralement des problèmes avec d'autres frameworks

if (!Object.prototype.forEach) {
  Object.defineProperty(Object.prototype, 'forEach', {
    value: function (callback, thisArg) {
      if (this == null) {
        throw new TypeError('Not an object');
      }
      thisArg = thisArg || window;
      for (var key in this) {
        if (this.hasOwnProperty(key)) {
          callback.call(thisArg, this[key], key, this);
        }
      }
    }
  });
}

var obj = {a:1,b:2};

obj.forEach(function(key, value){
    console.log(key, value)
})


3
mate.gwozdz

Le mot clé dont vous avez besoin est d'aplatir un tableau. Le tableau javascript moderne est livré avec une méthode plate . Vous pouvez utiliser des bibliothèques tierces telles que nderscorejs au cas où vous deviez prendre en charge des navigateurs plus anciens.

Ex natif:

var response=[1,2,3,4[12,15],[20,21]];
var data=response.flat(); //data=[1,2,3,4,12,15,20,21]

Souligner Ex:

var response=[1,2,3,4[12,15],[20,21]];
var data=_.flatten(response);
0
Mat J