JavaScript基础知识介绍——数组的基本操作:map、filter、reduce

map:可以把元素转换成数组,类型由开发人员决定

任何时候如果数组格式与所需要的格式不一样,就用map

map和filter都不会修改原始数组,而是返回数组的拷贝

const cart = [{name:"Widget",price:9.95},{name:"Gadget",price:22.95}];
const name = cart.map(x=>x.name); //["Widegt","Gadget"]
const price = cart.map(x=>x.price); //[9.95,22.95]
const discountPrice = price.map(x=>x*0.8);//[7.96,18.36]

数组每个元素在调用提供的方法时都会传入三个参数:元素本身、元素的下标、以及数组本身

const item = ["Widget","Gadget"];
const price = [9.95,22.95];
const cart = item.map(x,i) => ({name:x,price:price[i])));
//cart:[{name:"Widget",price:9.95},{name:"Gadget",price:22.95}]

filter:用来删除数组中不需要的元素,返回一个删除了某些元素的数组。删除元素取决于开发人员

map和filter结合使用:


reduce:可以转化整个数组,允许提供一个可以控制输出的函数(回调函数和接收累加值的初始值)

const arr = [5,7,2,4];
const sum = arr.reduce((a,x) => a+=x);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值