我正在处理的JavaScript问题如下:
“向您提供了一个可能为数组的数组。使用for循环,构建对象divByThree,以便每个键都是可能被3整除的possibleIterable元素。每个键的值应为数组索引,该密钥可以在possibleIterable中找到。”
我了解如何将对象的属性添加到数组,但反之亦然。我能够创建一个新的数组,然后将可被三除的元素压入,现在我被困在如何将这些元素变成对象divByThree的属性中,同时使对象键为数字。
我认为对象键不能是数字...
const possibleIterable = [4, 3, 9, 6, 23];
const divByThree = {};
// ADD CODE HERE
let arr = [];
for (let i = 0; i < possibleIterable.length; i++) {
if (possibleIterable[i] % 3 === 0){
arr.push(possibleIterable[i])
}
};
console.log(arr)
所示代码的结果为[3,9,6],我想要的结果是divByThree登录到控制台{3:1,6:3,9:2}
答案 0 :(得分:0)
它要求您从输入而不是数组中构建一个 object ,因此只需使用普通的括号符号即可,例如obj[val] = i
而不是push
:
const possibleIterable = [4, 3, 9, 6, 23];
const obj = {};
for (let i = 0; i < possibleIterable.length; i++) {
const val = possibleIterable[i];
if (val % 3 === 0) {
obj[val] = i;
}
}
console.log(obj);
答案 1 :(得分:0)
您几乎要到那里,需要向对象而不是数组添加值
const possibleIterable = [4, 3, 9, 6, 23];
const divByThree = {};
for (let i = 0; i < possibleIterable.length; i++) {
if (possibleIterable[i] % 3 === 0){
divByThree[possibleIterable[i]] = i
}
};
console.log(divByThree)