const data = [
{id:1,content:'love china',done:true},
{id:2,content:'love jx',done:true},
{id:3,content:'love sr',done:false},
]
1.find函数
let resultContent = data.find(v=>{
return v.id==id
})
console.log(resultContent)//条件成立返回的是一个对象:{id:1,content:'love china',done:true}
2.map函数
let resultContent = data.find(v=>{
return v.id==id
})
console.log(resultContent)//条件成立返回的是一个数组:[{id:1,content:'love china',done:true}]
3.reduce函数
//pre:上一次return得到的值,这里初始化默认为0
//current:resultContent这个数组每一次遍历的对象值
let resultContent = data.reduce((pre,current)=>{
return v.done==true? pre+1 :pre
},0)
console.log(resultContent)//条件成立返回的是一个数字 :2
4.forEach函数
//遍历数组,无需返回值
data.forEach(v=>{
if(v.id==id)
console.log(resultContent)
//条件成立返回的是一个一个对象:[{id:1,content:'love china',done:true}]
})
5.filter函数
let resultContent = data.filter(v=>{
return v.id==id
})
console.log(resultContent)
//条件成立返回的是一个过滤后的数组,不改变原数组的值:[{id:1,content:'love china',done:true}]
6.some函数:只要找到一个符合条件的,就返回布尔值true
let a = [1,2,3,4]
// 遍历数组中的元素与要比较的值相对比,如果符合条件,则循环中止return true,如果全部遍历结束后仍然没有找到,则返回false
let res = a.some(v=>v===2)
console.log(res)//true
7.every函数:只要有一个不符合条件,就返回false
//可以做全选判断
let res2 = a.every(v=>v===1)
console.log(res2)
8.filter+reduce:对数组进行筛选后计算需要的值
let a = [1,2,3,4]
let d = a.filter(v=>v<3).reduce((pre,cur)=> pre+cur,0)//3
9.this.$set的用法(vue2),修改数组中的某些值
this.goodsList.forEach(v => {
// v.check = false
this.$set(v,'check',false)
})
10.findIndex函数:返回查找到的数组的下标,找不到,返回-1
let a = [1,2,3,4]
let f = a.findIndex(v=>v===4)//3
11.splice(index,1):第一个参数为数组的下标
let a = [1,2,3]
a.splice(2,1)//删除3