javascript 常用方法(数组)

149 阅读2分钟

1 影响原数组的有 pop,push,sort,splice,unshift,shift.reverse

eg:

const arr = [1,2,3,4,5,6];
//数组尾部增加删除:
arr.pop() //arr =>[1,2,3,4,5]
arr.push(6) //arr=>[1,2,3,4,5,6]
//数组头部增加删除
arr.unshift(0) //[0,1,2,3,4,5,6]
arr.shift() //[1,2,3,4,5,6]
//排序
arr.sort()//升序
arr.sort((a,b)=>{return b-a})//[6,5,4,3,2,1] 降序
arr.reverse() //反转数组项的顺序
//在特定位置增加删除
arr.splice(2,1)// [6, 5, 3, 2, 1]  从index 为2 删除个数为1
arr.splice(1,2,9,10) //[6,2,1,9,10] 从index为1 删除长度为2 再加入 9,10 

特别的, sort在排序方面有一些常用的写法

eg: 根据特定的属性排序

const studentList = [{name:'xiaoming',age:12},{name:'hanmeimei',age:19},{name:'bingbing',age:14},{name:'tingting',age:20},{name:'junjun',age:10}]
//根据年龄由大到小排序
studentList.sort((a,b)=>{return b.age-a.age})

2 不影响原数组的操作方法常见的有:join,slice,indexOf,lastIndexOf,map,reduce.forEach,filter,concat,find,every,some....

//join 将数据转换成字符串方法

const arr1=[1,2,3,4,5]
const str = arr1.join("-")  //str:"1-2-3-4-5"

//slice 截取
const arr2 = arr1.slice(1,3) // arr2: [2,2]  截取开始下标为1 结束下标为3-1 的数组

//indexOf  找出某个值在数组中的第一个出现的下标
arr1.indexOf(4)  // 3

//lastIndexOf 找出某个值在数组中的最后一个出现的下标const arr3 =[1,2,5,7,9,4,5,7]
arr3.lastIndexOf(5) //6

//map  遍历数组,然后处理
  arr1.map(ele=>{return ele*2}) //  [2, 4, 6, 8, 10]

//reduce  最常用的可做累加器
arr1.reduce((ele,index)=>{ return ele+index}) //15

//forEach 遍历数组
arr1.forEach((ele,index)=>{console.log(ele)})

//filter  过滤数据
  let arr4  = arr1.filter(ele=>{return ele>2}) //arr4 [3,4,5] 

//concat 数据合并
 let arr5 = arr1.concat(arr4)// arr5  [1, 2, 3, 4, 5, 3, 4, 5]


//find  获取第一个符合条件的值
arr1.find(ele=>{return ele>3}) // 4

//监测数组所有值是不是都满足条件
arr1.every(ele=>{return ele<0})  //false

//监测数组是不是有满足条件的值
arr1.some(ele=>{return ele>3}) //true