map,find,filter,some,every方法的区别

map:返回新数组,在原数组上进行数据处理,只会在原有数组上元素内容改变,数组长度不变

filter:返回新数组,在原数组上进行条件判断过滤

some(一真则真):返回布尔值,判断是否满足条件,只要里面元素有一个能满足的就返回true

every(一假则假):返回布尔值,判断是否满足条件,必须所有元素全部满足条件才会返回true

find:返回原数组中第一个满足条件的对象

1、map

let res = [
    // 后端返回接口数据,但是前端需要的是 id 和 value属性名
    {
        sid: 1,
        name: 'xjw'
    },
    {
        sid: 1,
        name: 'xjw'
    },
    {
        sid: 1,
        name: 'xjw'
    },
    {
        sid: 1,
        name: 'xjw'
    },
    {
        sid: 1,
        name: 'xjw'
    },
]
let lastRes = res.map(item => ({
    id: item.sid,
    value: item.name
}))
console.log(lastRes)

2、filter

// filter:新数组 = 原数组.filter(item => {return 判断条件})
let farr = [1, 2, 3, 4, 5, ]
let flarr = farr.filter(item => {
    return item > 2
})
console.log(flarr) //结果:[3,4,5]

3、some:

// some:一真则真   变量 = 原数组.some(item => {return 判断条件})
let sarr = [1, 2, 3, 45, 6]
let slarr = sarr.some(item => {
    return item > 40
})
console.log(slarr) //结果:true

4、every

// every:一假则假   变量 = 原数组.every(item => {return 判断条件})
let earr = [1, 2, 3, 45, 6]
let elarr = earr.every(item => {
    return item > 40
})
console.log(elarr) //结果:false

5、find

返回第一个满足条件的对象
const arr = [{
        id: 1,
        name: '张一',
        age: 25,
        class: '一班'
    }, {
        id: 1,
        name: '张二',
        age: 25,
        class: '二班'
    }, {
        id: 2,
        name: '张三',
        age: 25,
        class: '三班'
    }]
    let obj = arr.find(item => item.id == 1)
    console.log(obj); 
    // 结果:{id: 1, name: '张一', age: 25, class: '一班'}

猜你喜欢

转载自blog.csdn.net/qq_37489791/article/details/131852309
今日推荐