【发布时间】:2018-08-28 01:07:38
【问题描述】:
我想将对象数组中的键值加倍,但我总是得到列表中的最后一个 key:val。我希望能够打印将其值翻倍的整个对象数组。
doubleArr = [];
function doubleSize (a,b) {
for(var i in a) {
if (a.hasOwnProperty(i)) {
var doubleObj = {};
doubleObj[i] = b * a[i];
var results = doubleObj[i];
doubleArr.push(results);
}
}
return doubleObj;
}
console.log(doubleSize({1:1,1:2,1:3,1:4,1:5}, 2))
我只得到{1:10}。目标是获得{1:2,1:4,1:6,1:8,1:10}。谢谢。
【问题讨论】:
-
你返回的是
doubleObj,而不是doubleArr。 -
您的对象只有一个属性,
1。重复的属性会覆盖早期的值。在对象被传递给函数之前,它被评估为{ 1: 5 }。 -
@Lee Taylor 但它仍然没有给我想要的结果。 DoubleArr 返回 [10]。目标是返回对象数组。
-
首先,您没有“对象数组”
-
这个问题不值得被否决。我还在学习。谢谢。
标签: javascript arrays loops object iteration