js 操作数组的方法(实用!)

203 阅读1分钟

工作中经常用来操作数组的方法 filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素。

filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

let arr = ['aaa','bbb','ccc','ddd','eee']
let newArr = arr.filter((item,index)=>{
  if(index>2){
  	return item
  }
})
console.log(newArr)//['ddd','eee']

indexOf() 方法可返回数组中某个指定的元素位置。

该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。

如果在数组中没找到指定元素则返回 -1

var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
var a = fruits.indexOf("Apple",4);//2

map()方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。

let arr = [{num:1,cont:1},{num:2,cont:2},{num:3,cont:3}]
arr.map((item,index)=>{
  return{
      name:item.num,
      content:item.cont
  }
})
console.log(arr)// [{name:1,content:1},{name:2,content:2},{name:3,content:3}]

every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true。

let arr = [1,2,3,4,5,6,7,8]
let flag = arr.every((item)=>item>0)
consolr.log(flag)//true

两个数组按照下标合并

let list = [
 {"name":'小明'},
 {"name":'小红'},
 {"name":'小华'}
]
let arr = [
 {"age":18},
 {"name":20},
 {"name":30}
]
let newlist = list.map((item,index)=>{
	return { ...item, ...arr[index]
})