//forEach()方法对数组的每个元素执行一次给定的函数。
//使用场景:当我们对数组的元素进行处理时(例如增加元素,元素值改变),可以使用这个函数
let arr = [
{name:'ni', age:18, height:185},
{name:'wo', age:18, height:185},
{name:'ta', age:18, height:185}
]
arr.forEach(item => item.status = '已发布')
console.log(arr)
//map()方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
//使用场景:当我们调用接口时,数组数据不满足结构的数据格式,若当前数组数据跟页面组件绑定,那么我们就不能直接使用forEach改变当前数组,就需要使用map在当前数组数据基础下,返回新的数组数据。
//for example 添加name属性,取值name,并删除name属性
let arr2 = [
{name:'ni', age:18, height:185},
{name:'wo', age:18, height:185},
{name:'ta', age:18, height:185}
]
let arr3 = arr2.map(function(item){
return{
...item,
id : item.name,
name:null
}
})
console.log(arr3)
//filter()方法创建一个新数组,其包含 符合函数条件的所有元素
//使用方法:当我们提交接口时,需要提交符合一定条件的元素组成的数组,就需要对原数组进行筛选。
const words = ['sasss','limit','elite','exuberant','destruction','present']
const res = words.filter(item => item .length >6)
console.log(res)
//every()方法是用来判断一个数组内的所有元素是否都满足某个指定的条件(回调函数)。
//使用场景:当我们进行逻辑操作时,我们会根据某个数组是否都满足某个条件,来进行不同的操作,就会用到这个函数
let everyArr =[
{name:'zhangsna', num:60},
{name:'lisi', num:20}
]
let everyRes = everyArr.every(item =>item.num >30)
console.log(everyRes) //false
//some()方法是否至少有一个元素满足某个指定的条件
//使用场景:经常用于判断数组中元素是否有一个满足某个条件,进行不同的操作
let someArr =[
{name:'zhangsna', num:60},
{name:'lisi', num:20}
]
let someRes = someArr.some(item =>item.num >30)
console.log(someRes) //true
//find()方法返回数组中符合函数条件中的第一个元素。否则返回undefined
let findArr =[
{name:'zhangsna', num:60},
{name:'lisi', num:20},
{name:'zhaoliu', num:20}
]
let findRes = findArr.find((index,item)=>item.name='zhangsna')
console.log(findRes)
//findIndex方法返回传入一个测试条件符合条件的数组第一个元素的位置。
//当测试条件返回为true时,findexIndex返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
//如果没有符合条件的元素则返回-1
//注意:findeIndex对空数组,函数时不会执行的。findIdnex()并没有改变数组的原始值
let findArr2 =[
{name:'zhangsna', num:60},
{name:'lisi', num:20},
{name:'zhaoliu', num:20}
]
//let findRes2 = findArr2.findIndex((index,item)=>{if(item.name='zhangsna'){ return item}})
let findRes2 = findArr2.findIndex(item=>item.name==='lisi')
console.log(findRes2)
网友评论