【发布时间】:2021-03-14 22:50:49
【问题描述】:
我试图将数组中的每个数字作为键映射到空对象,并将值设置为索引。但是,第一个索引 0 被跳过了...?
function solve(nums) {
let obj = {};
for (let i=0; i<nums.length; i++) {
if (!obj[nums[i]]) { // if key does not exist, set key/value pair
obj[nums[i]] = i
} else if (obj[nums[i]]) {
obj[nums[i]] = 0 // if key exists, set to 0
}
}
console.log(obj)
}
solve([50, 30, 50, 90, 10])
【问题讨论】:
-
它不会被跳过。你通过
50两次,但对象不能有两个相同的属性。 -
既然已经看过了,为什么还要设置为零?
标签: javascript loops object