Используйте Set .forEach () для добавления элементов в указанное свойство объекта. - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть функция, которая возвращает набор номеров столбцов и объект, определенный с некоторыми свойствами

for (let row of excelSheet)
{
  let item = {
    property1: row[column]
    property2: row[column]
    property3: row[column]
  }
}

Допустим, что значения для свойства три можно найти в нескольких столбцах, и поэтому набор возвращаемый из столбца имеет более одного значения. Я попытался установить для property3: значение

row[Number(columnSet.foreach(function(v){return v})]

, однако в элементе ничего не заполняется, и журналы консоли не определены для этого свойства. Есть ли лучший способ go об этом?

1 Ответ

1 голос
/ 21 февраля 2020

Если есть несколько значений, вы, вероятно, хотите использовать массив. Используйте .map, чтобы перебрать Set и получить доступ к соответствующей строке, так что значение item.property3 является массивом значений row[column] s:

property3: [...columnSet].map(column => row[column])

const columnSet = new Set([2, 4]);
const row = [0, 1, 2, 3, 4, 5];
const obj = {
  property3: [...columnSet].map(column => row[column])
};

console.log(obj);
...