gpt4 book ai didi

javascript - 为什么 reduce 函数输出数组中的项目数?

转载 作者:搜寻专家 更新时间:2023-11-01 04:53:27 24 4
gpt4 key购买 nike

我正在通过教程学习 ES6,在玩代码时,我发现了一些我不理解的地方。下面的代码输出“3”。

var primaryColors = [

{ color: 'red' },
{ color: 'yellow' },
{ color: 'blue' },

];

var newColors = [];

primaryColors.reduce(function(color, primaryColor){

return newColors.push(primaryColor.color);

}, []);

为什么返回语句返回“堆栈”中数据的编号?

最佳答案

Why is reduce function outputting no of items in an array?

As Nenad Vracar said ,因为 push 返回数组中的项目数,而 reduce 返回回调返回的最后一个值。

reduce不是这项工作的正确工具。 map是:

var newColors = primaryColors.map(function(primaryColor) {
return primaryColor.color;
});

var primaryColors = [
{ color: 'red' },
{ color: 'yellow' },
{ color: 'blue' },
];
var newColors = primaryColors.map(function(primaryColor) {
return primaryColor.color;
});
console.log(newColors);

或使用 ES2015 arrow function :

var newColors = primaryColors.map(primaryColor => primaryColor.color);

var primaryColors = [
{ color: 'red' },
{ color: 'yellow' },
{ color: 'blue' },
];
var newColors = primaryColors.map(primaryColor => primaryColor.color);
console.log(newColors);

如果我们正在做 ES2015,我们可以输入 destructuring :

var newColors = primaryColors.map(({color}) => color);

var primaryColors = [
{ color: 'red' },
{ color: 'yellow' },
{ color: 'blue' },
];
var newColors = primaryColors.map(({color}) => color);
console.log(newColors);

关于javascript - 为什么 reduce 函数输出数组中的项目数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50473138/

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