为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Array.reduce() 的回调函数中的 Array.concat()

如何使用 Array.reduce() 的回调函数中的 Array.concat()

慕姐8265434 2022-08-27 09:29:41
//Bonus - uncomment lines 15 and 17const arrays = [["how", "now"], ["brown", "cow"]];const flattenedArray = arrays.reduce((a,c) => a + c);// The below line should console.log: ["how", "now", "brown", "cow"]console.log(flattenedArray);我是使用 reduce 函数的新手,它有点复杂。我正在尝试扁平嵌套数组,但我真的不知道下一步该怎么做。
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

你已经提到了解决方案,你只需要实现它 - 当前项到回调内部的累加器:concatreduce


const arrays = [["how", "now"], ["brown", "cow"]];

const flattenedArray = arrays.reduce((a,c) => a.concat(c));

console.log(flattenedArray);


但会容易得多:.flat()


const arrays = [["how", "now"], ["brown", "cow"]];

const flattenedArray = arrays.flat();

console.log(flattenedArray);


查看完整回答
反对 回复 2022-08-27
?
狐的传说

TA贡献1804条经验 获得超3个赞

另一个选项 - 平面图:


const arrays = [["how", "now"], ["brown", "cow"]];

const flattenedArray = arrays.flatMap(a => a);

console.log(flattenedArray);


但是,只有当你想在地图中做一些事情时,它才是真正有利的,就像这样:


const arrays = [["how", "now"], ["brown", "cow"]];

const flattenedArray = arrays.flatMap(a => a.concat(a));

console.log(flattenedArray);


或者像这样:


const arrays = [["how", "now"], ["brown", "cow"]];

const flattenedArray = arrays.flatMap(a => a.map(b => b.toUpperCase()));

console.log(flattenedArray);

查看完整回答
反对 回复 2022-08-27
  • 2 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信