gpt4 book ai didi

Javascript - 平面 map 的解决方法

转载 作者:行者123 更新时间:2023-12-02 21:12:18 29 4
gpt4 key购买 nike

所以我正在寻找一些平面 map 的解决方法,因为它在 IE 上不起作用,我找到了这个:但我不太明白为什么它会起作用

var gadjets = [
{computers:['asus', 'hp'],
sellphones:['Galaxy', 'Nokia']
},

{computers:['dell', 'insys'],
sellphones:['iphone', 'samsung']
}
];

const getValues = gadjets.reduce((acc, gadjet) => acc.concat(gadjet[computers]), []) // instead of gadjets.flatMap(gadjet=> gadjet[computers])

此代码返回:

['asus','hp','dell','insys']

但它不应该返回:

['asus','hp'],['dell', 'insys']

最佳答案

这是因为 reduce 将您提供的元素相加。例如,采用以下代码:

let arr = [1,2,3,4,5];
console.log(arr.reduce((before, value)=>before+value));

此代码获取每个并将其添加到之前。然后,它将添加的值传递到 reduce 的下一次迭代中的 before 变量中。

在您的代码中,您将一个数组传递到before中,或者在您的情况下传递给acc,并连接(合并)一个新数组来自 gadgets['computers'] 并返回该数组。这将根据对象数组创建计算机列表。

有关reduce的更多信息here .

关于Javascript - 平面 map 的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61056697/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com