Javascript добавить элемент в объект - PullRequest
0 голосов
/ 07 октября 2018

это мой код

    var arr = [{
      id: '1',
      total: "Total:",
      titlea: 'a',
      titleb: 'b',
   }];

    let c=  {titlec: 'c'}
    arr.push(c);
    console.log(arr)

Так что console.log показывает, что

0: {id: "1", totalPdf: "Total:", titlea: "a", titleb: "b"}
1: {titlec: "c"}

Но я хочу это как:

0: {id: "1", totalPdf: "Total:", titlea: "a", titleb: "b", titlec: "c"}

Как я могусделай это?Спасибо

Ответы [ 6 ]

0 голосов
/ 07 октября 2018

Если условие необходимо только для однократного использования, которое вы можете использовать с помощью приведенного ниже простого кода, оно будет работать правильно, без использования каких-либо операторов цикла.arr[0]['titlec'] = c.titlec

0 голосов
/ 07 октября 2018

попробуйте

var arr = [{
          id: '1',
          total: "Total:",
          titlea: 'a',
          titleb: 'b',
       }];

    arr[0]["titlec"] = "c";
    console.log(arr)
0 голосов
/ 07 октября 2018
let key = Object.keys(c)[0];
let value = c.titlec;
arr[0][key] = value;
0 голосов
/ 07 октября 2018

push() добавит новый элемент в массив, его не следует использовать

    var arr = [{
      id: '1',
      total: "Total:",
      titlea: 'a',
      titleb: 'b',
   }];

    let c=  {titlec: 'c'}
    for(var i in c){
       arr[0][i]=c[i];
    }
    console.log(arr)
0 голосов
/ 07 октября 2018

arr.push(c); будет выдвигать новый элемент к объекту. Вместо этого использовать массив map & Object.assign .Array map вернет новый массив и с обновленным значением объекта

var arr = [{
  id: '1',
  total: "Total:",
  titlea: 'a',
  titleb: 'b',
}];

let c = {
  titlec: 'c'
}

let m = arr.map(function(item) {
  return Object.assign(item, c)

})
console.log(m)
0 голосов
/ 07 октября 2018

Выполните итерацию по вашему набору данных, используя .forEach() или .map() и используйте Object.assign(), чтобы добавить свойства объекта c к объектам в массиве.

let arr = [{
  id: '1',
  total: "Total:",
  titlea: 'a',
  titleb: 'b',
}];

let c =  {titlec: 'c'}

arr.forEach(o => Object.assign(o, c));

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