Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript数组到字典映射不能正常工作?_Javascript_Arrays_Dictionary - Fatal编程技术网

JavaScript数组到字典映射不能正常工作?

JavaScript数组到字典映射不能正常工作?,javascript,arrays,dictionary,Javascript,Arrays,Dictionary,我想将java脚本数组映射到字典: let myArray=['first','second','third']; 预期产出 result={first:1,second:1,third:1} result=[{element:1}, {element:1}, {element:1}] 实际产出 result={first:1,second:1,third:1} result=[{element:1}, {element:1}, {element:1}] 代码: let myArray

我想将java脚本数组映射到字典:

let myArray=['first','second','third'];
预期产出

result={first:1,second:1,third:1}
result=[{element:1}, {element:1}, {element:1}]
实际产出

result={first:1,second:1,third:1}
result=[{element:1}, {element:1}, {element:1}]
代码:

let myArray=['first','second','third'];

let result=myArray.map(element=>{

    return {element:1}

})
让myArray=['first','second','third'];
让结果=myArray.reduce((agg,ele)=>{
agg[ele]=1;
返回agg;
}, {});

控制台日志(结果)您可以使用
对象来完成此操作。分配
和扩展语法

让myArray=['first','second','third'];
设obj=Object.assign({},…myArray.map(key=>({[key]:1}));
console.log(obj)

减缩器将递增地附加新密钥。数组键语法使用element的值作为新键

为什么不只是一个常规for循环

  const result = {};
  for(const key of myArray)
    result[key] = 1;

return{[element]:1}我的要求有点不同@Nenad Vracar答案是对的,很抱歉混淆:)没关系。我会感谢你的努力,修好了。我误解了整个问题。+1表示简单!(还有效率)。你说得对。但我的目的有点不同。我把问题的部分贴出来。我没有发布我真正的问题。@sunny什么?如果你不需要它,为什么要问这个问题?我通常用减速机,但我喜欢这种方法。荣誉