【发布时间】:2014-02-14 04:20:08
【问题描述】:
在这个代码 sn-p 示例中,我有选择地将 2 列从我的二维数组转换为一个对象。第 1 列代表键,第 2 列代表值。
我觉得有一种更简洁的方式来编码这个想法而无需那么多代码行。
var my2dArray = [ ['a',2], ['b',3], ['c',4] ];
var keys = [];
var values = [];
var myObj = {};
for(var row = 1; row < my2dArray.length; row++) {
keys[row] = my2dArray[row][0];
values[row] = my2dArray[row][1];
myObj[keys[row]] = values[row];
}
console.log(prod_compare); // outputs object
实际上,我有一个 4 列数组。不要介意my2dArray 的简单性。有没有办法选择这两列映射到一个对象而不必声明 2 个临时数组?
【问题讨论】:
-
我真的看不到在您的代码中使用
keys和values...此外,数组索引从 0 开始,而不是 1。 -
我将 2 个相关列转换为它们自己的一维数组。至于for循环中的初始化,我是故意的。
-
是的,但是您说这两个数组是临时的,我假设您以后不需要它。如果是正确的,我不明白你为什么不能直接使用
myObj[my2dArray[row][0]]=my2dArray[row][1];。 -
如果这是一个答案,我会给予你的功劳。
标签: javascript multidimensional-array javascript-objects