[英]How to add object values from an object array based on an object key in Javascript
[英]how to add key to object from array in javascript or jquery
如何将键值添加到javascript对象,我有一个像这样的数组: var a = [20, 21, 22];
我试图使用以下代码将其转换为javascript对象: var id = Object.assign({}, a);
结果是: {0 : 20, 1 : 21, 2 : 22}
但是,如何像下面的对象一样更改结果? :
0 : {id : 20}, 1 : {id : 21}, 2 : {id : 22}
任何帮助将不胜感激
根据您的评论“对象的格式应为:0:{id:20},1:{id:21},2:{id:22}”,这看起来像是.map()
:
var input = [ 20, 21, 22 ]; var output = input.map( function( value ) { return { id: value }; }); console.log( output );
或者,在现代JavaScript中,使用箭头功能:
var input = [ 20, 21, 22 ]; var output = input.map( value => ({ id: value }) ); console.log( output );
您不能也不应拥有{id : 20, id: 21, id:22}
。 对象中的每个键都应该是唯一的,否则就不能成为“键”。
假设您有一个像
var a = {id : 20, id: 21, id:22};
,那么您打算如何访问这些元素? a.id
返回什么,对您有什么帮助?
如果要获得0 : {id : 20}, 1 : {id : 21}, 2 : {id : 22}
,则可以这样进行:
let a = [20, 21, 22];
let obj = Array();
for(let i of a) {
obj.push({id: i});
}
{id : 20, id: 21, id:22}
等效于1个键/值对。 他们无法将{id : 20, id: 21, id:22}
作为对象并将值保持为20、21、22
您可以尝试将其放入数组
{id : [20, 21, 22]}
要么
[{id:20}, {id:21}, {id:22}]
var a = [20, 21, 22]; var result = []; for(let i=0; i<a.length; i++){ result.push({id: a[i]}); } //console.log(result) var id = Object.assign({}, result); console.log(id);
创建如下对象:var collections = [],a = [20,21,22];
迭代数组a([20,21,22]),并在下面的集合中添加单个项,即数组。
for (i = 0; i < a.length; i++) {
collections.push({id: a[i]});
}
干杯...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.