跳到主要内容

Array

与其他编程语言中的数组一样,Array 对象支持在单个变量名下存储多个元素,并具有执行常见数组操作的成员。

版本新增方法
ES5 及更早push(), pop(), shift(), unshift(), concat(), join(), slice(), splice(), indexOf(), lastIndexOf(), forEach(), map(), filter(), reduce(), reduceRight(), some(), every(), sort(), reverse()
ES6 (2015)find(), findIndex(), fill(), copyWithin(), entries(), keys(), values()
ES11 (2016)includes()
ES9 (2018)❌ 无新增
ES10 (2019)flat(), flatMap()(正式发布)
ES11 (2020)at()
ES13 (2022)toSorted(), toReversed(), toSpliced(), with()

创建数组

// Array() 构造函数
new Array() || Array(element0) || Array(arrayLength)

// 数组字面量
[]

常见的 Array 静态属性方法 🤖️

// 如果参数是数组则返回 true。
Array.isArray()

// `Array.from(arrayLike, mapFn, thisArg)` 从可迭代或类数组对象创建一个新的浅拷贝的数组实例。
() => {
const fruits = "Apple";
const result = Array.from(fruits);
console.log("输出结果:", fruits, result);
};

// `Array.of()` 可变数量的参数创建数组。
() => {
const result = Array.of("Apple", undefined, "text", "", null, " ", "text", 0);
console.log("输出结果:", fruits, result);
};

常见的 Array 实例方法 🤖️

主要分类:查询,修改,遍历等方法,部分特征:是否会更改原始数组。

sort() toSorted() 排序,并返回该数组。

const fruits = ["Apple", undefined, "text", "", null, " ", "text", 0];
// ❌ 会更改原始数组
const result = fruits.sort(function (value1, value2) {
return value1 - value2;
});
// ✅ 不会改变原始数组
const result = fruits.toSorted(function (value1, value2) {
return value1 - value2;
});

参考链接

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array