我尝试使用concat,但无法获得[1,2,66]之类的数组。通过使用推,我得到了。但是使用concat是可能的,还是我没有得到结果的原因是什么?感谢您提供高级解决方案。
const arr = [1, 2, 66];
const data = arr.reduce((obj, k) => {
obj.concat(k);
return obj
},[]);
console.log(data);
concat() method is used to merge two or more arrays。此方法不会更改现有数组,而是返回新数组。
因此,obj.concat(k)
不执行任何操作,而您在下一行中返回unchanged obj
。
为解决这个问题,您可以将concat分配给新变量并返回该变量...
const newObj = obj.concat(k);
return newObj;
...或只是返回concat的结果:
return obj.concat(k);
const arr = [1, 2, 66];
const data = arr.reduce((obj, k) => {
return obj.concat(k);
}, []);
console.log(data);