1. 非破坏性方法
(1)Array.isArray():用来检查一个对象是否是数组
console.log(Array.isArray([1,2,3,4])); // true
console.log(Array.isArray({name: "孙悟空"})); // false
(2)at():
- 根据索引获取数组中的指定元素
- at可以接收负索引作为参数(如arr.at(-1)就是倒数第一个元素)
const arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚"];
console.log(arr.at(-2)); // 沙和尚
console.log(arr.at(0)); // 孙悟空
(3)concat():
- 用来链接两个或多个数组
- 非破坏性方法,不会影响原数组,而是返回一个新的数组
const arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚"];
const arr2 = ["蜘蛛精", "白骨精"];
let result = arr.concat(arr2); // ["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚", "蜘蛛精", "白骨精"]
result = arr.concat(arr2, ["牛魔王", "铁扇公主"]); // ["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚", "蜘蛛精", "白骨精", "牛魔王", "铁扇公主"]
(4)indexOf():
- 获取元素在数组中第一次出现的索引
- 参数:要查询的元素;查询你的起始位置
const arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚"];
let result = arr.indexOf("沙和尚"); // 2
result = arr.indexOf("沙和尚", 3); // 4
(5)lastIndexOf():
- 获取元素在数组中最后一次出现的位置
- 参数:要查询的元素;查询你的起始位置
const arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚"];
let result = arr.lastIndexOf("沙和尚"); // 4
result = arr.lastIndexOf("沙和尚", 3); // 2
indexOf()和lastIndexOf()返回值,找到了则返回元素的索引,没找到返回-1
(6)join():
- 将一个数组中的元素链接为一个字符串
- 可以指定一个字符串作为连接符
const arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚"];
let result = arr.join(); // 孙悟空,猪八戒,沙和尚,唐僧,沙和尚
result = arr.join("|"); // 孙悟空|猪八戒|沙和尚|唐僧|沙和尚
(7)slice():
- 用来截取数组(非破坏性方法)
- 参数:
(1)第1个参数为截取的起始位置(包括该位置)
(2)第2个参数为截取的结束位置(不包括该位置)
(3)第2个参数可以省略不写,如果省略则会一直截取到最后
(4)参数可以为负值
(5)两个参数都不写,则可以对数组进行浅拷贝(浅复制)
const arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧"];
let result = arr.slice(0, 2); // ['孙悟空', '猪八戒']
result = arr.slice(1, 3); // ['猪八戒', '沙和尚']
result = arr.slice(2); // ['沙和尚', '唐僧']
result = arr.slice(1, -1); // ['猪八戒', '沙和尚']
result = arr.slice(); // ["孙悟空", "猪八戒", "沙和尚", "唐僧"]
2. 破坏性方法
(1)push()
- 向数组的末尾添加一个或多个元素