JS 函数的操作方法

it2025-02-02  11

1.reduce()

这个reduce方法的第一个参数为匿名函数(这个匿名函数的pre参数为上一次遍历的值,cur参数为本次遍历的值),第二个参数可传可不传,若传递了第二个参数,那么就表示pre的初始值。

//求数组价格的最大值 let arr = [ {id: 1, name: '华为', price: 6000}, {id: 2, name: '小米', price: 5888}, {id: 3, name: 'oppo', price: 2544}, {id: 4, name: '苹果', price: 16000}]; function getMaxMoney(arr) { return arr.reduce(function (pre, cur) { return pre.price > cur.price ? pre : cur }) } console.log(getMaxMoney(arr)); //{id: 4, name: "苹果", price: 16000} //求数组价格总和 let arr = [ {id: 1, name: '华为', price: 6000}, {id: 2, name: '小米', price: 5888}, {id: 3, name: 'oppo', price: 2544}, {id: 4, name: '苹果', price: 16000}]; function getTotalMoney(arr) { return arr.reduce(function (total, cur) { return total += cur["price"] }, 0) } console.log(getTotalMoney(arr)); //30432 //求价格大于6000的商品名称 let arr = [ {id: 1, name: '华为', price: 6899}, {id: 2, name: '小米', price: 5888}, {id: 3, name: 'oppo', price: 2544}, {id: 4, name: '苹果', price: 16000}]; function getTotalName(goods, price) { return goods.reduce(function (arr, cur) { if (cur.price > price) { arr.push(cur) } return arr; }, []).map(item => item.name) } console.log(getTotalName(arr, 6000)); //["华为", "苹果"]

 

最新回复(0)