map,filter,some,every,find方法的区别(通俗易懂)

本文详细介绍了JavaScript中数组的常用方法,包括map、filter、some、every及find等。通过实例展示了这些方法的具体应用,如使用map改变数组元素、利用filter进行筛选等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

map,filter,some,every都是原数组不受改变,而foreach是在原数组上改变

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

 filter: 返回新数组,在原数组上判断是否满足条件来进行数据过滤,只会在原有数组上长度改变,元素内容不变

 some: 返回布尔值(一真则真),在原数组上判断是否满足条件,只要里面元素有一个满足条件则返回true,并且停止遍历

every:返回布尔值(一假则假),在原数组上判断是否满足条件,必须里面元素全部满足条件才会返回true

find: 返回原数组中第一个满足条件的那个元素

下面挨个演示:

map:

// 新数组 = 原数组.map(item => {return..})  item是数组里的每一个元素
// 新数组 = 原数组.map(item => ({})) 如果箭头函数体用括号包裹则自动return括号里面的值到新数组
let arr = [1, 2, 3, 4, 5]
let result = arr.map(item => {
    return item + 1;
})
console.log(result) //结果:[2,3,4,5,6]
    // 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)

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]

some:

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

every:

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

find:

// find: 返回满足条件的第一个元素
let fiarr = [1, 2, 3, 4, 5]
let filarr = fiarr.find(item => {
    return item > 2
})
console.log(filarr) //结果:3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值