javascript将数组作为值添加到对象[重复]

Posted

技术标签:

【中文标题】javascript将数组作为值添加到对象[重复]【英文标题】:javascript add array as value to object [duplicate] 【发布时间】:2019-03-12 14:38:23 【问题描述】:

我有一个值看起来像这样的数组

myarray= [1,2,3,4,5,6]

我有一个对象,其中已经有不同的对象

myobject =
  key1: value1,
  key2: value2,
  key3: value3

我想将我的数组添加到这个对象中,并给它一个键文本作为“数字”,看起来像这样

myobject =
  key1: value1,
  key2: value2,
  key3: value3
  numbers: [1,2,3,4,5,6]

我试过了

Object.assign(myobject, myarray);

但结果是这样的


  0:1,
  1:2,
  2:3,
  3:4,
  4:5,
  key1: value1,
  key2: value2,
  key3: value3
 

【问题讨论】:

你只需要编码:myobject.numbers = myarray如果你想使用Object.assign你应该编码:Object.assign(myobject, numbers: myarray ) numbers = [1,2,3,4]; Object.assign(myobject, numbers); 您应该了解Object.assign 的作用。简而言之,它将属性从源对象复制到目标对象。 【参考方案1】:

您可以像分配任何其他值一样分配它: myobject.numbers = myarray.

【讨论】:

【参考方案2】:

为什么不这样添加:myobject["numbers"] = myarray;

let myarray= [1,2,3,4,5,6];

let myobject =
  key1: 1,
  key2: 2,
  key3: 3


console.log(myarray);
console.log(myobject);

myobject["numbers"] = myarray;
console.log(myobject);

【讨论】:

Lijo - 我猜它是 6 种方式,6 种另一种方式,但是将对象属性声明为关联数组(恕我直言)并不是很好的面向对象编程。 javascript 是带有样式的狂野西部,但是……无论如何。只是我的意见。 @ S. Overflow 同意 - 我提出了一个更简单的版本,而不是对 Object.Assign 感到困惑【参考方案3】:

很确定这几乎是微不足道的,是吗?你想为你的对象添加另一个属性,所以只需声明它:

var numbers = [1,2,3,4,5]
var myobject =
   key1: 'test',
  key2: 'test2',
  key3: 'test3'


myobject.numbers = numbers;

【讨论】:

以上是关于javascript将数组作为值添加到对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript数组去重

在javascript中展平数组[重复]

如何在对象数组中获取 1 到 n 键值并将它们推送到新数组?(Javascript)[重复]

Javascript将数组添加到数组对象 - 问题总是推送相同的值

JavaScript:删除共享相同属性值的对象的重复项

根据JavaScript中的属性值从对象数组中选择[重复]