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