- 遍历数组
// 数组
var arr = [0,2,4,6,8]
var arr1=[]
// ------------------------------------forEach
console.log("-----------------forEach");
arr.forEach((item,index,arr)=>{
console.log(item + 0.5)
arr1.push(item+0.5)
// return arr1//forEach没有返回值,return也不能使用
})
console.log(arr1);//forEach只能配合数组方法push和unshift使用,形成新数组
// ------------------------------------map
console.log("-----------------map");
var newArr=arr.map((item)=>{
console.log(item+0.5);
return item+0.6
})
console.log(newArr);
// ------------------------------------filter
console.log("-----------------filter");
var arr3=arr.filter((item,index,arr)=>{
console.log(item>2);//返回满足的个数的不满足个数的Boolean值
return item>2
})
console.log(arr3);//返回新的对象数组,不改变原数组
// ------------------------------------some
console.log("-----------------some");
var bool=arr.some((item,index,arr)=>{
console.log(item<0);
return item<0
})
console.log(bool);//找到符合条件的值,只要有一个符合,就返回true,不会全部遍历,不做多余的遍历(性能优化首选)
// ------------------------------------every
console.log("-----------------every");
var all=arr.every((item,index,arr)=>{
console.log(item<10);
return item<7
})
console.log(all);//(对每个元素执行callback)检查每一项是否符合条件,全部符合没有返回false就返回true,找到一项不满足返回false就返回false
// ------------------------------------find
console.log("-----------------find");
var ones=arr.find((item,index,arr)=>{
console.log(item>5);
return item>5
})
console.log(ones);//和some类似,但是 是返回"值类型",返回第一个符合条件的对象
// ------------------------------------findIndex
console.log("-----------------findIndex");
var i=arr.findIndex((item,index,arr)=>{
console.log(item>5);
return item>1
})
console.log(i);//返回第一个符合条件的索引号
// ------------------------------------
console.log("-----------------");
- 遍历数组对象
// 数组对象
var user = [{id:1,userName:"张三"},{id:2,userName:""},{id:3,userName:""}]
// ------------------------------------forEach
console.log("-----------------forEach");
var user1=[]
user.forEach((item,index,user) => {
console.log(item.id+1);
user1.push(item.id+1)
})
console.log(user1);
// ------------------------------------map
console.log("-----------------map");
var user2=user.map((item,index,user) => {
// console.log(item.id+1);
// return item.id+1
return item.userName.length>1? "222":"王五"//字符长度缺少或是不够,返回或修改默认值,
})
console.log(user2);