Javascript Array.reduce-对象的奇怪行为
Javascript Array.reduce-对象的奇怪行为,javascript,arrays,reduce,Javascript,Arrays,Reduce,myArr=['a','b','c']; myArr.reduce((obj,val)=>({…obj[val]:val}) 根据我的理解,您希望reduce返回{a:a',b:b',c:c'} 我们实际上得到的是{0:a',b:b',c:c'} 我尝试将日志放入其中,以查看第一项发生了什么,但输出为: b C {0:“a”,b:“b”,c:“c”} 因此,现在的行为更加奇怪,因为我们没有得到第一次val迭代的任何日志。 让myArr=['a','b','c']; 让result=myArr.
myArr=['a','b','c'];
myArr.reduce((obj,val)=>({…obj[val]:val})代码>
根据我的理解,您希望reduce返回{a:a',b:b',c:c'}
我们实际上得到的是{0:a',b:b',c:c'}
我尝试将日志放入其中,以查看第一项发生了什么,但输出为:
b
C
{0:“a”,b:“b”,c:“c”}
因此,现在的行为更加奇怪,因为我们没有得到第一次val
迭代的任何日志。
让myArr=['a','b','c'];
让result=myArr.reduce((obj,val)=>({…obj,[val]:val}),{});
控制台日志(结果)代码>
让myArr=['a','b','c'];
让result=myArr.reduce((obj,val)=>({…obj,[val]:val}),{});
控制台日志(结果)代码>这很有意义-如果我用不同的数组(如你提到的hello world)尝试它,我肯定我会了解发生了什么,但是用一个字符串我的头脑就崩溃了。为答案干杯!这很有道理——如果我用不同的数组(如你提到的hello world)尝试它,我肯定我会了解发生了什么,但用一个字符串我的头脑就崩溃了。为答案干杯!