ES6 数组处理

1.使用find、filter筛选数组

  const personList = [
        { name: '刘德华', age: 56 },
        { name: '蔡徐坤', age: 25 },
        { name: '熊凤山', age: 65 }
      ]
使用find 查询出name=’刘德华‘的数据  
   const result = personList.find(r => r.name == '刘德华')
   console.log(result)  //{name: '刘德华', age: 56}
使用filter查询出name='刘德华'的数据 
   const result = personList.filter(r => r.name == '刘德华')
   console.log(result)  //{name: '刘德华', age: 56}

区别:

filter 查询不到则返回 []  空数组
find 查询不到则返回undefind  返回第一条复合的对象 并非数组

2.获取两个数组共同集合 使用some

  const personList = [
        { name: '刘德华', age: 56 },
        { name: '蔡徐坤', age: 25 },
        { name: '熊凤山', age: 65 }
      ]
const personList2 =
[
    { name: '刘德华', age: 56 },
        { name: '乌仁吉', age: 45 },
        { name: '熊凤山', age: 65 }
]
    const result = personList.filter(r => personList2.some(x => x.name == r.name));
      console.log(result) // [{"name": "刘德华","age": 56},{"name": "熊凤山","age": 65}]

 3.排序

使用sort关键字 按年龄排序

  const personList = [
        { name: '刘德华', age: 56 },
        { name: '蔡徐坤', age: 25 },
        { name: '熊凤山', age: 65 }
      ]
返回降序:
console.log(personList .sort((a,b)=>{return b.age-aage}));
返回升序
console.log(personList .sort((a,b)=>{return aage -bage}));

4.查询成一个新数组(只需要部分字段) 使用map

      //定义一个数组
      const personList = [
        { name: '刘德华', age: 56, sex: '男' },
        { name: '蔡徐坤', age: 25, sex: '女' },
        { name: '熊凤山', age: 65, sex: '男' }
      ]
      //查询name和sex
      let newPersonList = personList.map(r => {
        return {
          newName: r.name,
          newSex: r.sex
        }
      })
      console.log(newPersonList)
 
使用some()方法的一个常见场景是检查数组中是否存在满足特定条件的元素

 

 
 
 
posted @   芒果5s  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示