【发布时间】:2019-11-04 09:31:50
【问题描述】:
我有这个对象数组:
var materials=[{sample:"A21"},{sample:"A22"},{sample:"A23"}];
目标是创建一个新数组,将“sample”名称替换为其对应的值...
结果:var materials2=[{A21:"A21"},{A22:"A22"},{A23:"A23"}];
这可能吗?
我试过下面的循环将密钥作为字符串传递,但没有任何运气!
for(i=0; i<materials.length; i++){
materials2.push({"'"+materials[i].sample+"'":materials[i].sample})
}
任何帮助将不胜感激! 谢谢!
【问题讨论】:
-
问题实际上是用最优化的方式访问属性值。就我而言,测试代码性能也很重要。已经回答的其他正确方法确实指出了这个主题,但@Nina Scholz 给出了一个答案,即它在毫秒执行中是时间效率的。因为没有for循环,只有内部map函数。
标签: javascript arrays object key