Как использовать forEach в vueJs?
У меня есть ответ, как показано ниже, из вызова API,
Теперь я должен повторить все массивы внутри массивов. Как мне это сделать в VueJS?
Я искал использование forEach.. нигде я не нашел forEach использования, как ключ | пара значений.
Может ли кто-нибудь помочь мне в том, как извлекать значения из этих массивов, используя либо forEach, либо любое другое (VueJS)?
С уважением,
Ответы
Ответ 1
В VueJS вы можете использовать forEach, как показано ниже.
let list=[];
$.each(response.data.message, function(key, value) {
list.push(key);
});
Итак, теперь вы можете иметь все массивы в списке. использовать для цикла, чтобы получить значения или ключи
Ответ 2
Вы также можете использовать.map() как:
var list=[];
response.data.message.map(function(value, key) {
list.push(value);
});
Ответ 3
Это пример использования forEach:
let arr = [];
this.myArray.forEach((value, index) => {
arr.push(value);
console.log(value);
console.log(index);
});
В этом случае myArray - это массив моих данных.
Вы также можете перебирать массив с помощью фильтра, но его следует использовать, если вы хотите получить новый список с отфильтрованными элементами вашего массива.
Примерно так:
const newArray = this.myArray.filter((value, index) => {
console.log(value);
console.log(index);
if (value > 5) return true;
});
и то же самое можно записать как:
const newArray = this.myArray.filter((value, index) => value > 5);
И filter, и forEach являются методами javascript и прекрасно работают с VueJ. Также было бы интересно взглянуть на это:
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
Ответ 4
Вы можете использовать встроенную функцию JavaScript
var obj = {a:1,b:2};
Object.keys(obj).forEach(function(key){
console.log(key, obj[el])
})
или создайте прототип объекта foreach, но это обычно вызывает проблемы с другими платформами
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)
})
Ответ 5
Ключевое слово, которое вам нужно, это выравнивание массива. Современный массив Javascript поставляется с плоским методом. Вы можете использовать сторонние библиотеки, такие как underscorejs, если вам нужна поддержка старых браузеров.
Родной пример:
var response=[1,2,3,4[12,15],[20,21]];
var data=response.flat(); //data=[1,2,3,4,12,15,20,21]
Подчеркнуть пример:
var response=[1,2,3,4[12,15],[20,21]];
var data=_.flatten(response);