2021-06-09

数组常用的一些方法

数组的常用方法,如增加元素删除元素

1.连接数组:concat()

let arr = [10,20,30,40]
let arr1 = arr.concat([50,60,70])
console.log(arr1)   //打印得到[10,20,30,40,50,60,70]
//这个方法可以使两个或是多个数组连接起来,返回一个新数组
//原数组不会发生变化

2.将数组所有元素拼接成字符串:join(‘分隔符’)

let arr = [10,20,30,40]
let arr1 = arr.join()    //括号内为空默认以‘,’拼接
console.log(arr1) //打印得到 10,20,30,40
let arr2 = arr.join('|')    //以引号内字符拼接
console.log(arr2) //打印得到 10|20|30|40
//原数组不会发生变化

3.翻转数组:reverse()

let arr = [10,20,30,40]
let arr1 = arr.reverse()   //得到一个翻转的新数组
console.log(arr1)  //打印得到 [40,30,20,10]
//原数组不会发生变化

4.数组排序 :sort()

let arr = [10,20,30,40,0,5]
arr.sort(function(a,b){
 return a-b   //从小到大排序
})
console.log(arr)  //打印得到 [0,5,10,20,30,40]
arr.sort(function(a,b){
 return b-a   //从大到小排序
})
console.log(arr)  //打印得到 [40,30,20,10,5,0]

5.批量查询数组元素:slice()

let arr = [10,20,30,40]
// arr.slice(start,end)    
// start<= 范围 <end
let arr1 = arr.slice(2,4)  // 2<= 范围 <4
console.log(arr1)  //打印得到 [30,40]

6.删除数组最后一个元素:pop()

let arr = [10,20,30,40]
arr.pop()
console.log(arr)  //打印得到[10,20,30]

7.给数组后面添加元素:push()

let arr = [10,20,30,40]
arr.push(50)  //如果要传多个元素则括号内用','号隔开
console.log(arr)  //打印得到[10,20,30,40,50]

8.删除数组第一个元素:shift()

let arr = [10,20,30,40]
arr.shift()
console.log(arr)  //打印得到[20,30,40]

9.给数组开头添加元素:unshift()

let arr = [10,20,30,40]
arr.unshift(0)  //如果要传多个元素则括号内用','号隔开
console.log(arr)  //打印得到[0,10,20,30,40]

10.检测数组元素位置:indexOf()

let arr = [10,20,30,40]
arr.indexOf(10)  //数组中有该元素则返回元素第一次出现下标
arr.indexOf(0)   //数组中没有该元素则返回-1

11.数组去重

let arr = [10,20,30,10,20,40,30]
let arr1 = [...new Set(arr)]
console.log(arr1)  //打印得到[10,20,30,40]

12.遍历数组
12.1: forEach

// 遍历数组,把遍历出来的每一项交给回调函数. 
// 中间不会停下来.
// 没有返回值.
let arr = [10,20,30,40,50]
arr.forEach((v,i)=>{
  console.log(v)   //遍历出来的每一个元素
  console.log(i)   //遍历出来每一个元素对应得下标
})

12.2: map

// 遍历数组的,把遍历出来的每一项交给回调函数
// 中间不能停下来. 
// 有返回值,返回值是: 返回的内容组成的新数组.
let arr = [10,20,30,40,50];
let res = arr.map((v,ii)=>{
   console.log(v);   //遍历出来的每一个元素
   console.log(i);  //遍历出来的每一个元素对应的下标
    return v*2;
});
console.log(res); //打印得到 [20,40,60,80,100]

12.3 : filter

// 遍历数组的.把遍历出来的每一个元素交给回调函数
// 有返回值,返回值是: 如果当前return为true,那就以当前遍历项组成的元素新数组. 
// let arr = [10,21,30,41,50];
// let res = arr.filter((v,i)=>{
//     //console.log(v);//遍历出来的每一个元素
//     //console.log(i);//遍历出来的每一个元素对应的下标
//     return v%2==0;   //表达式为true则当前遍历项组成新数组
// });
// console.log(res);  //打印得到[10,30,50]

13.数组降维
二维数组降维成一维数组
二维数组:数组的元素又是一个数组

let arr1 = [10,20,[30,40,50],60];
let newArr = []
arr.forEach((v,i)=>{
//判断数组中元素是不是一个数组,如果是数组则展开加入新数组中
//不是数组则直接加入新数组
    if(Array.isArray(arr1[i])){
       newArr.push(...arr1[i])
    }else {
      newArr.push(arr1[i])
    }    
})
console.log(newArr) //打印得到 [10,20,30,40,50,60]
let arr2 = [[10,20,30],[40],[50,60]]
let newArr2 = []
  arr2.forEach(v=>{
      newArr2.push(...v)
        })
conlose.log(newArr2) //打印得到 [10,20,30,40,50,60]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值