Javascript 使用reduce函数从数组创建新对象时无法获得正确的结果
这是我的尝试,我尝试从数组值创建一个新对象,但得到的结果是:Javascript 使用reduce函数从数组创建新对象时无法获得正确的结果,javascript,ecmascript-2016,Javascript,Ecmascript 2016,这是我的尝试,我尝试从数组值创建一个新对象,但得到的结果是:two而不是新对象。有人能帮我清楚地理解reduce函数吗 const arr=['one','two'] 函数fn(){ 返回arr.reduce((obj,val)=>obj[val]=val,{}); } console.log(fn()); //应为:{one:'one',two:'two}但得到'two'您的函数返回val(最后处理的元素),而不是obj(累加器),请尝试: const arr=['one','two']
two
而不是新对象。有人能帮我清楚地理解reduce函数吗
const arr=['one','two']
函数fn(){
返回arr.reduce((obj,val)=>obj[val]=val,{});
}
console.log(fn());
//应为:{one:'one',two:'two}但得到'two'
您的函数返回val
(最后处理的元素),而不是obj
(累加器),请尝试:
const arr=['one','two']
函数fn(){
返回arr.reduce((obj,val)=>{obj[val]=val;返回obj;},{});
}
console.log(fn())
您的函数返回val
(上次处理的元素)而不是obj
(累加器),请尝试:
const arr=['one','two']
函数fn(){
返回arr.reduce((obj,val)=>{obj[val]=val;返回obj;},{});
}
console.log(fn())代码>