下面的函数使用 reduce 函数简单地返回给定数组中的最小元素。但是,我很快意识到如果给定的数组为空,下面的代码会抛出一个 TypeError :
function findSmallestElement(arr) {
return arr.reduce((a,b) => a < b ? a : b); //throws TypeError if arr is an empty array
}
Run Code Online (Sandbox Code Playgroud)
所以我通过在reduce()方法之前加入一个快速的if语句来处理它,如下所示。我想知道,是否有更优雅/简洁的方法来做到这一点,因为如果数组为空,我必须返回 0?
function findSmallestElement(arr) {
if (arr.length === 0) return 0;
return arr.reduce((a,b) => a < b ? a : b);
}
Run Code Online (Sandbox Code Playgroud) javascript ×1