如何将一个数组推入另一个数组元素中作为 JavaScript 中的新属性? [复制]
Posted
技术标签:
【中文标题】如何将一个数组推入另一个数组元素中作为 JavaScript 中的新属性? [复制]【英文标题】:How to push an array inside another array element as a new property in JavaScript? [duplicate] 【发布时间】:2016-02-10 17:05:09 【问题描述】:所以, 例如,我有以下数组
var sections = [ name: 'apple', count: 20 ,
name: 'banana', count: 80 ,
name: 'oranges', count: 10 ]
现在,如果我想添加更多项目,那么我可以这样做
sections.push( name: 'mango', count: '32' );
这会将新数组添加到部分。
现在,假设我有另一个数组来显示水果的来源和数量。
var country = [ country: 'usa', count: 5 ,
country: 'brazil', count: 27 ]
所以,我想将这个新的 country
数组添加到 sections
的第三个元素中,并使用一个名为 country 的新属性,如下所示。
var sections = [ name: 'apple', count: 20 ,
name: 'banana', count: 80 ,
name: 'oranges', count: 10,
country: [ country: 'usa', count: 5 ,
country: 'brazil', count: 27 ]
]
我该怎么做?我试过push
,splice
,但根本想不通。
我还尝试了 section[3].push.apply(country).. 以及许多其他我记不起的东西。要么我收到错误,要么只是没有按我的意愿推送数组。
【问题讨论】:
sections[2].country = country
;
真的吗??!!!!有那么容易吗?我正在尝试世界上所有其他困难的方法??天哪!!!谢谢
“另一个数组”索引位置是否对应sections
数组索引位置?
不太清楚你的意思,但我得到的答案都是正确的答案。
@user1828605 是的。 sections
包含 3 个项目。 “另一个数组”是否包含与 section
项目对应的 3 个项目?
【参考方案1】:
push
用于添加到数组,而不是用于向对象添加属性。对于属性,只需指定属性名称即可。
sections[2].country = country;
如果该属性已经存在并且您想添加到它,您可以使用push
,如下所示:
section[2].country.push(country: 'venezuela', count: 20);
别忘了数组索引从0
开始,所以第三个元素是[2]
。
【讨论】:
【参考方案2】:你可以试试这样的:
sections[2].country = country;
在这里,写sections[2]
我们偷看对sections
的第三项的引用。然后我们定义一个名为country
的属性,并为其分配我们想要的值。
为什么推送不起作用?
push 是一种数组方法,它使您能够将元素压入数组的末尾。如果您尝试使用 push on sections[2]
将不起作用,因为 sections[2]
不是数组。 splice
也是如此,它是一个数组方法。
【讨论】:
以上是关于如何将一个数组推入另一个数组元素中作为 JavaScript 中的新属性? [复制]的主要内容,如果未能解决你的问题,请参考以下文章