JavaScript-数组

1.数组的解构赋值

1.1 什么是数组的解构赋值

解构赋值是ES6中新增的一种赋值的方式

1.2 数组解构赋值的注意点

1.2.1 在数组的解构赋值中, 等号左边的格式必须和等号右边的格式一模一样, 才能完全解构

let [a, b, c] = [1, 3, 5]
// a = 1, b = 3, c = 5

1.2.2 在数组的解构赋值中, 左边的个数可以和右边的个数不一样

let [a, b] = [1, 3, 5]
// a = 1, b = 3
let [a, b] = [1]
// a = 1, b = undefined

1.2.3 左边可以指定默认值

  • 当左边指定默认值,左边的个数多余右边,左边的内容为默认值
let [a, b = 22] = [1]
// a = 1, b = 22
  • 当左边指定默认值,左边的个数少余右边,左边的默认值会被覆盖
let [a, b = 22] = [1, 33]
// a = 1, b = 33

1.2.4 在数组的解构赋值中, 还可以使用ES6中新增的扩展运算符来打包剩余的数据

let [a, ...b] = [1,22,33]
// a = 1, b = [22, 33]

在数组的解构赋值中, 如果使用了扩展运算符, 那么扩展运算符只能写在最后

ES6中新增的扩展运算符: ...

1.3 扩展运算符

扩展运算符

1.3.1 扩展运算符在等号左边, 将剩余的数据打包到一个新的数组中

注意点: 只能写在最后

let [a, ...b] = [1, 3, 5]; 
// a = 1; b = [3, 5];

1.3.2 扩展运算符在等号右边, 将数组中的数据解开

let arr1 = [1, 3, 5];
let arr2 = [2, 4, 6];
let arr = [...arr1, ...arr2]; 
// let arr = [1, 3, 5, 2, 4, 6];

1.3.3 扩展运算符在函数的形参列表中的作用

将传递给函数的所有实参打包到一个数组中
注意点: 和在等号左边一样, 也只能写在形参列表的最后

function getSum(a,...values) {
   console.log('values', values); // [20, 30, 40]
}
getSum(10, 20, 30, 40);

1.3.4 扩展运算符在函数的实参列表中的作用

function getSum(a, b, c, d) {
    console.log('abcd', a, b, c, d); // 50, 60, 70, 80
}
let arr = [60, 70]
getSum(50,...arr, 80)

2.数组的增删改查

  • push
  • unshift
  • splice

  • pop
  • shift
  • splice

  • arr[需要修改的内容的索引] = 修改后的内容
  • splice

  • arr[需要查找的索引]

3.数组的常用方法

清空数组

arr = [];
arr.length = 0;
arr.splice(0, arr.length)

数组转换为字符串

  • toString
let str = arr.toString();

数组转换成指定格式字符串

  • join
    join方法默认情况下如果没有传递参数, 就是调用toString();
    join方法如果传递了参数, 就会将传递的参数作为元素和元素的连接符号
let arr = [1, 2, 3, 4, 5]
let str =  arr.join("+"); // 1+2+3+4+5

两个数组拼接为一个数组

  • concat
  • 扩展运算符
let arr1 = [1, 3, 5];
let arr2 = [2, 4, 6];
let res = arr1.concat(arr2);
let arr1 = [1, 3, 5];
let arr2 = [2, 4, 6];
let res = [...arr1, ...arr2]

数组中的内容进行反转

  • reverse

会修改原有的数组

let res = arr.reverse();

截取数组中指定范围内容

  • slice

slice方法是包头不包尾(包含起始位置, 不包含结束的位置)

let arr = [1, 2, 3, 4, 5]
let res = arr.slice(1, 3) // res = [2, 3]

查找元素在数组中的位置

  • indexOf(参数1[, 参数2])
  • lastIndexOf方法默认是从右至左的查找, 一旦找到就会立即停止查找
参数1: 需要查找的元素
参数2: 从什么位置开始查找(可选)

indexOf方法如果找到了指定的元素, 就会返回元素对应的位置
indexOf方法如果没有找到指定的元素, 就会返回-1

注意点: indexOf方法默认是从左至右的查找, 一旦找到就会立即停止查找

数组中是否包含某个元素

  • includes
  • 通过indexOf和lastIndexOf的结果, 判断是否是-1
let arr = [1, 2, 3, 4, 5];
let res = arr.includes(4);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值