Динамическое создание переменных в forEach l oop - Javascript - PullRequest
0 голосов
/ 17 июня 2020

Итак, я пытаюсь передать данные через forEach l oop, создавая уникальный var для каждой части переданных данных. Мой код выглядит следующим образом:

  data.forEach(function (data) {
    var name = data.Name;
  });
}

Можно ли создать новое «имя» var для каждой части переданных данных data.Name?

Другими словами: возможно ли создать уникальный var и динамически назначить его каждому имени, переданному через l oop?

Например:

набор данных 1: {Имя: "Генри"}

набор данных 2: {Имя: "Крис"}

...

Можно ли тогда сделать:

var1 = data set 1 ('Henry' )
var2 = data set 1 ('Chris')
...

Кстати, в моем проекте массив, к сожалению, не работает. Я пытаюсь выделить отдельные наборы данных.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 17 июня 2020

Это технически возможно , например, с помощью объекта window. Вы могли бы, не знаю, сделать что-то вроде этого

  data.forEach(function (item, index) {
    window["var" + index] = item.Name;
  });
}

Но, пожалуйста, не надо. Просто map массив data в другой массив:

const namesArray = data.map(function(item) { 
    return item.Name; 
});
0 голосов
/ 17 июня 2020

Если я правильно понял ваш вопрос, вы пытаетесь сохранить все имена для последующего использования. Если это так, вы, вероятно, могли бы go для чего-то вроде:

var names = [];
data.forEach(function(d) {
    names.push(d.Name);
}); 

Или просто:

var names = data.map(d => d.Name);
...