es6下的高级函数

本文介绍了ES6中的高级函数用法,包括filter用于筛选数组元素,map用于对数组元素进行操作并返回新数组,reduce用于对数组进行累积计算。此外,还讲解了如何通过split筛选数组,去除空值以及实现数组去重。同时,探讨了对象操作,如使用Object.keys获取对象的key,Object.values获取对象的value,以及indexOf查找字符串在数组中的位置。

flter函数 返回一个新的数组 每次会根据条件进行一次判断 支返回为true的一项 。
map函数 对数组的每一项进行操作 返回每一项的数组。
数组对象可以直接取出自己想要的对象

let arr = [{
        id: 1,
        name: "tony",
        class: 1,
        garde: 88
   },{
        id: 2,
        name: "Tom",
        class: 1,
        grade: 90
   },{
        id: 3,
        name: "Jack",
        class: 1,
        grade: 86
   }];
let res = arr.map(({name, id}) => ({ id, name }))
 console.log(res)

reduce 第一参数是上次返回的值 第二个参数是这一次使用的值。
split 筛选数组 arr.splilt(’-’,3);参数二是返回数组的前三项。
去掉空数组空字符串、undefined、null

var newArr = arr.filter(item => item)

数组去重

var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)  
console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]

//此处的self其实就是arr原数组

对象
Object.keys(arr);可以获取对象的key
Object.values(arr);可以获取对象的value值
indexOf返回某个指定的字符串值在字符串中首次出现的位置。

const arr = [1,2,3,4,5,6,7]
const list = [
    {openId: 1, timelineId: 1, showNo: 1, uid: 1},
    {openId: 2, timelineId: 1, showNo: 1, uid: 1},
    {openId: 9, timelineId: 1, showNo: 1, uid: 1},
    {openId: 4, timelineId: 1, showNo: 1, uid: 1},
    {openId: 5, timelineId: 1, showNo: 1, uid: 1}
]
const params = list.filter(item=> arr.indexOf(item.openId) > -1)
console.log(params)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值