数组的常用方法

简单归纳整理一下数组常用的一些方法

会改变数原数组的方法

1. Array.push():在数组的后面添加新加元素,返回新增的元素;
2. Array.pop():在数组后面删除最后一个元素,并返回被删除的元素;
3. Array.shift():在数组后面删除第一个元素,并返回被删除的元素;
4. Array.unshift():将一个或多个元素添加到数组的开头,返回新增的元素;
5. Array.splice(n, m,e):返回选中的元素组成的新数组,会改变原数组,

// Array.splice(n)表示从数组的第n项开始删除到最后
let arr = [1, 2, 3, 4];
let newArr= arr.splice(2);
console.log(newArr,arr)  // [3,4]    [1,2]

// Array.splice(n,m)表示从数组第n项开始删除到第m项,
let arr = [1, 2, 3, 4];
let newArr= arr.splice(1, 2);
console.log(newArr,arr)  // [2,3]    [1,4]

// Array.splice(n,m,e)表示从数组的第n项开始删除m位,并添加元素e到数组内
let arr = [1, 2, 3, 4];
let newArr= arr.splice(1, 2, 9);
console.log(newArr,arr)  // [2,3]    [1,9,4]


6. Array.concat():将多个数组拼接成一个数组,返回拼接后新的数组
7. Array.forEach():遍历数组的每一个元素,根据需求加以处理,直接改变原数组,没有返回值
8. Array.sort():将数组进行排序,返回排序后的数组,会直接改变原数组

// 顺序
let arr = [2,9,4,8,6,1]
let newArr = arr.sort((a,b)=>{ return a - b })

console.log(newArr, arr) // [1, 2, 4, 6, 8, 9]   [1, 2, 4, 6, 8, 9]



// 逆序
let arr = [2,9,4,8,6,1]
let newArr = arr.sort((a,b)=>{ return b - a })

console.log(newArr, arr) //  [9, 8, 6, 4, 2, 1]    [9, 8, 6, 4, 2, 1]

不改变原数组的方法

1. Array.map():将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组
2. Array.filter():将所有元素进行判断,将满足条件的元素作为一个新的数组返回
3. Array.reverse():将数组翻转
4. Array.find():查找出数组中符合条件一项,有符合条件的返回该元素,否则返回undefined;
         Array.findIndex():与find方法类似,返回值不同,有符合的元素返回索引,否则返回-1
5. Array.some():将所有元素进行判断,如果存在任意一个元素满足判断条件,返回 true并且剩余的元素不会再执行检测,否则返回 false
6. Array.every():将所有元素进行判断,如果存在一个元素不满足判断条件,返回false并且剩余的元素不会再执行检测,如果全部满足才会返回true
7. Array.slice(n,m):将数组从索引为n的一项截取到索引为m,返回被截取的部分组成新数组,不改变原数组
8. Array.join():将以指定字符拼接成字符串并返回,不改变原数组
9. Array.indexOf():查找数组中符合条件的第一项,返回它的索引值,也可以用于字符串,lastIndexOf方法相同,返回符合条件的最后一项的索引
10. Array.isArray():判断一个对象是不是数组,返回的是布尔值,不改变原数组
11. Array.toString() : 将数组转化为字符并返回

let arr = [1,2,3]

console.log(Array.isArray(arr),arr)  // true   [1,2,3]

console.log(arr.toString(),arr)   // 1,2,3    [1,2,3]

12. Array.reduce():是所有元素调用的返回函数,返回符合条件的组成新数组, 不会改变原数组

// 数组的reduce方法可以做的事情很多,基本语法如下:
let arr = ['a','b','c','d','e'];
arr.reduce((prev,cur,index,arr)=>{
...
return prev;
}, init);

// prev:上一次调用回调时的返回值,或者初始值 init
// cur:当前元素
// index:当前元素的索引,如果有 init 值,索引为0,否则为1
// arr:原数组
// init:初始值
// 注意:在reduce内部一定要有一个返回值,以供下一次调用


// 简单以数组去重为例,体现一下用法
let arr = ['a','b','c','a','c','a'];
let newArr = arr.reduce((prev, cur)=> {
    prev.indexOf(cur) === -1 && prev.push(cur);
    return prev;
},[])

console.log(newArr,arr) //  ['a', 'b', 'c']   ['a', 'b', 'c', 'a', 'c', 'a']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值