无法使用concat将元素推入空数组

问题描述 投票:0回答:1

我尝试使用concat,但无法获得[1,2,66]之类的数组。通过使用推,我得到了。但是使用concat是可能的,还是我没有得到结果的原因是什么?感谢您提供高级解决方案。

const arr = [1, 2, 66];
const data = arr.reduce((obj, k) => { 
            obj.concat(k); 
            return obj 
},[]);
console.log(data);
javascript es6-class
1个回答
1
投票

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);
© www.soinside.com 2019 - 2024. All rights reserved.