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()方法的一个常见场景是检查数组中是否存在满足特定条件的元素

浙公网安备 33010602011771号