JS добавляет значения массива к объекту - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть массив объекта и объекта результата.Как я могу добавить все элементы массива к объекту результата

let result = {
    list: 'example',
    foo: 'something'
}

let array = [
    {
        item: 'a',
        value: 'a',
    },
    {
        item: 'b',
        value: 'b',
    },
    {
        item: 'c',
        value: 'c',
    },

]

let result = {
    list: 'example',
    foo: 'something',
    array
}
console.log(result);

Мне нужно, чтобы результат был:

{
    list: 'example',
    foo: 'something',
    item[0]: 'a',
    value[0]: 'a',
    item[1]: 'b',
    value[1]: 'b',
    item[2]: 'c',
    value[2]: 'c'
}

Как мне добавить массив?Я пытаюсь что-то вроде JSON.stringify, но не могу получить требуемый формат.

Ответы [ 4 ]

0 голосов
/ 20 сентября 2018

Я думаю, что вы можете сделать это с помощью

array.unshift(result);

Если это не то, что вы хотите, вы можете использовать цикл, чтобы пройти через все элементы в массиве и добавить их один за другим (если вы пытаетесь получитькаждый элемент, но не с одним элементом '{item, value}').

0 голосов
/ 20 сентября 2018

Вы имеете в виду что-то подобное?

array.map(element => Object.assign(result, {[element.item]: element.value}))
0 голосов
/ 20 сентября 2018

Вы можете перебирать массив и заполнять нужные свойства, используя Array.forEach:

let result = {
  list: 'example',
  foo: 'something'
}

let array = [{
    item: 'a',
    value: 'a',
  },
  {
    item: 'b',
    value: 'b',
  },
  {
    item: 'c',
    value: 'c',
  }
]

array.forEach((obj, index) => {
  result[`item[${index}]`] = obj.item;
  result[`value[${index}]`] = obj.value;
});

console.log(result);
0 голосов
/ 20 сентября 2018

Вы можете перебирать объекты массива и присваивать значения комбинированному ключу.

var result = { list: 'example', foo: 'something' },
    array = [ { item: 'a', value: 'a' }, { item: 'b', value: 'b' }, { item: 'c', value: 'c' }];

array.forEach((o, i) =>
    Object.entries(o).forEach(([k, v]) => result[`${k}[${i}]`] = v));

console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...