Javascript-通过循环向现有对象属性添加更多值
我试图循环遍历数组元素中的特定字符,并创建一个对象,该对象可以包含多个字符作为该对象中每个键的值。下面的代码用每个循环覆盖键的值,而不是添加到其中。我希望预期输出为:Javascript-通过循环向现有对象属性添加更多值,javascript,Javascript,我试图循环遍历数组元素中的特定字符,并创建一个对象,该对象可以包含多个字符作为该对象中每个键的值。下面的代码用每个循环覆盖键的值,而不是添加到其中。我希望预期输出为: {0: ag, 1: bh, 2: ci, 3: dj, 4: ek} 让arr=['abcde','ghijk']; 设obj={}; for(设i=0;i{ obj[index]=currChar; }) } 控制台日志(obj); 您的代码完全正确,只是需要在forEach中添加(连接)字母,而不是赋值,因此类似于
{0: ag,
1: bh,
2: ci,
3: dj,
4: ek}
让arr=['abcde','ghijk'];
设obj={};
for(设i=0;i{
obj[index]=currChar;
})
}
控制台日志(obj);
您的代码完全正确,只是需要在forEach
中添加(连接)字母,而不是赋值,因此类似于:
obj[index] = (obj[index] || "") + currChar;
// instead of
// obj[index] = currChar;
使用reduce
的示例如下:
让arr=['abcde','ghijk'];
控制台日志(arr.reduce)(acc,e)=>{
e、 分割('').forEach((l,i)=>acc[i]=(acc[i]| | |“”)+l)
返回acc;
},{}))
您的代码完全正确,只是需要在forEach
中添加(连接)字母,而不是赋值,因此类似于:
obj[index] = (obj[index] || "") + currChar;
// instead of
// obj[index] = currChar;
使用reduce
的示例如下:
让arr=['abcde','ghijk'];
控制台日志(arr.reduce)(acc,e)=>{
e、 分割('').forEach((l,i)=>acc[i]=(acc[i]| | |“”)+l)
返回acc;
},{}))
让arr=['abcde','ghijk'];
设res=arr[0]。拆分(“”)。映射((el1,idx)=>{
返回el1+''+arr[1]。拆分('')[idx]
})
console.log(Object.assign({},res))
让arr=['abcde','ghijk'];
设res=arr[0]。拆分(“”)。映射((el1,idx)=>{
返回el1+''+arr[1]。拆分('')[idx]
})
console.log(Object.assign({},res))
@Bixar唯一“不常见”的部分是(acc[i]| |“”)
,它接受acc[i]
(如果设置了),否则”
,其余部分只是一个字符串concatenation@Bixar唯一“不常见”的部分是(acc[i]| |“”)
,它接受acc[i]
(如果已设置),否则为“”
,其余的只是字符串连接