Подтвердить что ты не робот

Как использовать forEach в vueJs?

У меня есть ответ, как показано ниже, из вызова API,

response

Теперь я должен повторить все массивы внутри массивов. Как мне это сделать в VueJS?

Я искал использование forEach.. нигде я не нашел forEach использования, как ключ | пара значений.

Может ли кто-нибудь помочь мне в том, как извлекать значения из этих массивов, используя либо forEach, либо любое другое (VueJS)?

С уважением,

4b9b3361

Ответ 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);