繁体   English   中英

如何从数组中向对象添加属性?

[英]How do I add properties to an object from an array?

我正在处理的JavaScript问题如下:

“你提供了一个数组,possibleIterable。使用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}

它要求你从输入而不是数组构建一个对象 ,所以只需使用普通的括号表示法,例如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); 

你几乎就在那里,你需要为object而不是array添加值

 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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM