一些数组的方法,解释,示例

1.push() - 将一个或多个元素添加到数组的末尾,并返回新数组的长度。

let arr = [1, 2, 3];
let length = arr.push(4, 5); // [1, 2, 3, 4, 5], 返回值 5

2.pop() - 从数组的末尾删除最后一个元素,并返回该元素。

let arr = [1, 2, 3];
let lastNum = arr.pop(); // [1, 2], 返回值 3

3.shift() - 从数组的开头删除第一个元素,并返回该元素。

let arr = [1, 2, 3];
let firstNum = arr.shift(); // [2, 3], 返回值 1

4.unshift() - 将一个或多个元素添加到数组的开头,并返回新数组的长度。

let arr = [1, 2, 3];
let length = arr.unshift(0, -1); // [-1, 0, 1, 2, 3], 返回值 5

5.slice() - 从现有数组中返回选定元素的新数组,而不修改原始数组。

let arr = [1, 2, 3, 4, 5];
let sliceArr = arr.slice(2, 4); // [3, 4], 原数组不变

6.splice() - 可删除或替换现有数组中的元素,或向其中插入新元素。

let arr = [1, 2, 3, 4, 5];
let deletedArr = arr.splice(1, 2, 'a', 'b'); // [1, 'a', 'b', 4, 5], 返回值 [2, 3]

7.concat() - 将两个或多个数组连接成一个新数组。

let arr1 = [1, 2];
let arr2 = [3, 4];
let newArr = arr1.concat(arr2); // [1, 2, 3, 4]

8.sort() - 对数组进行排序,默认是按照字母或数字升序排序。

let arr = [2, 4, 1, 3, 5];
let sortedArr = arr.sort(); // [1, 2, 3, 4, 5]

9.reverse() - 反转数组中元素的顺序。

let arr = [1, 2, 3, 4, 5];
let reversedArr = arr.reverse(); // [5, 4, 3, 2, 1]

10.join() - 将数组元素连接为字符串并返回该字符串。

let arr = [1, 2, 3];
let joinedStr = arr.join('-'); // '1-2-3'

11.forEach() - 对数组中的每个元素执行一次回调函数。

let arr = [1, 2, 3];
arr.forEach(function(item) {
  console.log(item);
});

12.filter() - 使用提供的函数筛选元素并返回新数组。

let arr = [1, 2, 3, 4, 5];
let filteredArr = arr.filter(function(item) {
  return item > 2;
});

console.log(filteredArr); // [3, 4, 5]

13.map() - 对数组中的每个元素执行一次回调函数,并返回一个新数组。

let arr = [1, 2, 3];
let mappedArr = arr.map(function(item) {
  return item * 2;
});

console.log(mappedArr); // [2, 4, 6]

14.reduce() - 对数组中的所有元素进行累加,并返回单个值。

let arr = [1, 2, 3];
let sum = arr.reduce(function(total, current) {
  return total + current;
}, 0);
console.log(sum); // 6

15.find() - 返回数组中第一个满足提供测试函数的元素。

let arr = [1, 2, 3, 4, 5];
let found = arr.find(function(item) {
  return item > 2;
});
console.log(found); // 3

16.findIndex() - 返回数组中第一个通过测试的元素的索引。

let arr = [1, 2, 3, 4, 5];
let foundIndex = arr.findIndex(function(item) {
  return item > 2;
});
console.log(foundIndex); // 2

17.indexOf() - 返回指定元素在数组中第一次出现的索引。

let arr = [1, 2, 3, 4, 5];
let index = arr.indexOf(3);
console.log(index); // 2

18.lastIndexOf() - 返回指定元素在数组中最后一次出现的索引。

let arr = [1, 2, 3, 3, 4, 5];
let lastIndex = arr.lastIndexOf(3);
console.log(lastIndex); // 3

19.include() - 判断数组中是否包含指定元素。

let arr = [1, 2, 3, 4, 5];
let isIncluded = arr.includes(3);
console.log(isIncluded); // true

20.fill() - 使用指定值填充数组中的元素。

let arr = new Array(5);
arr.fill(0);
console.log(arr); // [0, 0, 0, 0, 0]

21.flat() - 将嵌套数组展开为单层数组。

let arr = [1, [2, 3], [4], 5];
let flattenedArr = arr.flat();
console.log(flattenedArr); // [1, 2, 3, 4, 5]

22.flatMap() - 将每个元素通过函数处理后拍平为单层数组。

let arr = [1, 2, 3];
let flattenedArr = arr.flatMap(function(item) {
  return [item*2, item*3];
});
console.log(flattenedArr); // [2, 3, 4, 6, 6, 9]

23.every() - 判断数组中的每个元素是否满足指定的条件。

let arr = [1, 2, 3, 4, 5];
let isAllEven = arr.every(function(item) {
  return item % 2 === 0;
});
console.log(isAllEven); // false

24.some() - 判断数组中是否有任何元素满足指定的条件。

let arr = [1, 2, 3, 4, 5];
let hasEven = arr.some(function(item) {
  return item % 2 === 0;
});
console.log(hasEven); // true

25.reduceRight() - 从右到左累加所有元素,并返回单个值。

let arr = [1, 2, 3];
let sum = arr.reduceRight(function(total, current) {
  return total + current;
}, 0);
console.log(sum); // 6

26.copyWithin() - 从指定的位置开始复制数组的一部分到相同数组的另一个位置。

let arr = [1, 2, 3, 4, 5];
arr.copyWithin(2, 0, 2); // [1, 2, 1, 2, 5]

27.entries() - 返回迭代器,用于通过数组的索引遍历键值对。

let arr = [1, 2, 3];
let iterator = arr.entries();
console.log(iterator.next().value); // [0, 1]
console.log(iterator.next().value); // [1, 2]
console.log(iterator.next().value); // [2, 3]

28.keys() - 返回包含数组中每个索引值的迭代器。

let arr = [1, 2, 3];
let iterator = arr.keys();
console.log(iterator.next().value); // 0
console.log(iterator.next().value); // 1
console.log(iterator.next().value); // 2

29.values() - 返回包含数组中每个值的迭代器。在ES2015中新增。

let arr = [1, 2, 3];
let iterator = arr.values();
console.log(iterator.next().value); // 1
console.log(iterator.next().value); // 2
console.log(iterator.next().value); // 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值