gpt4 book ai didi

javascript - 无法理解 .reduce 在 JavaScript 中的工作原理

转载 作者:行者123 更新时间:2023-11-28 12:12:36 27 4
gpt4 key购买 nike

我在做 JavaScript 练习时遇到了这个问题:

编写一个 JavaScript 函数,该函数接受字符串作为参数,并查找字符串中最长的单词。示例字符串:“Web 开发教程”(开发)

我找到了一个解决方案,它是这样的:

function longest(str) {
let arr = str.split(' ');

return arr.reduce((a,b) => a.length < b.length ? b : a, "");
}

console.log(longest('Web Development Tutorial'));

上面的代码确实有效,但我无法理解 arr.reduce((a,b) => a.length < b.length ? b : a, "")部分。

这是什么意思

reduce(function(a, b) {
if (a.length < b.length) {
b
} else {
a,
"";
}
}

这仍然没有多大意义?

最佳答案

已经给出了一些非常好的答案。查看正在发生的情况的一种方法是放置 console.log。只需看一下这段代码,您就会知道发生了什么:

function longest(str) {
let arr = str.split(' ');

return arr.reduce((a,b) => {
console.log(`a=${a}, b=${b}`);
return a.length < b.length ? b : a;
}, "");
}

console.log(longest('Web Development Tutorial'));

输出应该是不言自明的。但是,如果您不了解箭头函数或模板字符串文字,那么您需要先学习它们才能理解输出。

关于javascript - 无法理解 .reduce 在 JavaScript 中的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57703291/

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