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将数组作为值添加到对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在对象数组中获取 1 到 n 键值并将它们推送到新数组?(Javascript)[重复]