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: '一班'}