J'ai une réponse comme ci-dessous d'un appel API,
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
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
Vous pouvez également utiliser .map () comme:
var list=[];
response.data.message.map(function(value, key) {
list.Push(value);
});
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
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)
})
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);