JS中各种循环遍历方式:for-in,for-of,forEach( 三 )


let result2 = [1, 2, 3, 4, 5].reduce(function (a, b) {return a + b;}, 10);console.log(result2); // 25
上面的第二个参数相当于设定了默认值,处理空数组时尤其有用,可避免一些空指针异常 。
由于这两个方法会遍历数组,所以实际上还可以用来做一些遍历相关的操作 。比如,找出字符长度最长的数组成员 。
function findLongest(entries) {return entries.reduce((longest, entry) => {return entry.length > longest.length ? entry : longest;}, '');}let result = findLongest(['aaa', 'bb', 'c']);console.log(result); // "aaa"
上面代码中,的参数函数会将字符长度较长的那个数组成员,作为累积值 。这导致遍历所有成员之后,累积值就是字符长度最长的那个成员