我有一个数组。
var nestedArr =[['loop0', 0], ['loop1', 1], ['loop2', 2], ['loop3', 3], ['loop4', 4], ['loop5', 5]]
我必须使用for循环:
var obj = { loop0: 0, loop1: 1, loop2: 2 ...};
我正在尝试这个:
for(var j = 0; j < nestedArr.length; j++){
obj[nestedArr[j][0]] = nestedArr[j][1]}
但我得到的值是未定义的。如何正确添加值。
答案 0 :(得分:1)
您可以使用var nestedArr = [
['loop0', 0],
['loop1', 1],
['loop2', 2],
['loop3', 3],
['loop4', 4],
['loop5', 5]
];
var output = {};
nestedArr.reduce(function(itm) {
output[itm[0]] = itm[1];
});
console.log(output);
功能,如下所示:
var nestedArr = [
['loop0', 0],
['loop1', 1],
['loop2', 2],
['loop3', 3],
['loop4', 4],
['loop5', 5]
];
var obj = {};
for (var j = 0; j < nestedArr.length; j++) {
obj[nestedArr[j][0]] = nestedArr[j][1]
}
console.log(obj)
你的循环也是正确的:
print(" Training data: {}".format(x_Train.shape))
print(" Training data: {}".format(y_Train.shape))
print(" Test data: {}".format(x_Test.shape))
print(" Test data: {}".format(y_Test.shape))
....
Training data: (128, 90, 561)
Training data: (128,)
Test data: (43, 90, 561)
Test data: (43,)
答案 1 :(得分:1)
对我来说很好。刚刚添加了obj
var nestedArr =[['loop0', 0], ['loop1', 1], ['loop2', 2], ['loop3', 3], ['loop4', 4], ['loop5', 5]],
obj = {};
for(var j = 0; j < nestedArr.length; j++){
obj[nestedArr[j][0]] = nestedArr[j][1]
}
console.log(obj)
&#13;
答案 2 :(得分:0)
使用Array.prototype.reduce
即可。
var nestedArr =[['loop0', 0], ['loop1', 1], ['loop2', 2], ['loop3', 3], ['loop4', 4], ['loop5', 5]]
const res = nestedArr.reduce((acc, v) => {
acc[v[0]] = v[1];
return acc;
}, {});
console.log(res);