如何在javascript或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()
的工作.map()
:
var input = [ 20, 21, 22 ]; var output = input.map( function( value ) { return { 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}); }
创建对象,如:var collections = [],a = [20,21,22];
迭代数组a([20,21,22]),并在下面的集合中添加单个项目,即数组。
for (i = 0; i < a.length; i++) { collections.push({id: a[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