js中数组常用方法

JavaScript 中的数组(Array)是一种非常强大的数据结构,它提供了许多内置的方法来操作数组元素。以下是一些常用的数组方法及其简要说明,结合示例代码进行说明:

1. push()

向数组的末尾添加一个或多个元素,并返回新的长度。

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

2. pop()

从数组中删除最后一个元素,并返回该元素的值。此方法会改变原数组。

let arr = [1, 2, 3];
let lastElement = arr.pop();
console.log(arr); // [1, 2]
console.log(lastElement); // 3

3. shift()

删除并返回数组的第一个元素。此方法会改变原数组。

let arr = [1, 2, 3];
let firstElement = arr.shift();
console.log(arr); // [2, 3]
console.log(firstElement); // 1

4. unshift()

向数组的开头添加一个或多个元素,并返回新的长度。

let arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]

5. splice()

通过删除现有元素和/或添加新元素来更改一个数组的内容。

let arr = [1, 2, 3, 4, 5];
let removed = arr.splice(2, 2, 'a', 'b'); // 从索引2开始删除2个元素,并添加'a'和'b'
console.log(arr); // [1, 2, 'a', 'b', 5]
console.log(removed); // [3, 4]

6. slice()

返回一个新的数组对象,这一对象是一个由 beginend(不包括 end)选择的数组的一部分浅拷贝。

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

7. concat()

用于合并两个或多个数组。此方法不会改变现有的数组,而是返回一个新数组。

let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = arr1.concat(arr2);
console.log(arr3); // [1, 2, 3, 4, 5, 6]

8. join()

把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

let arr = ['Hello', 'world', 'JavaScript'];
let str = arr.join(' ');
console.log(str); // "Hello world JavaScript"

9. indexOf()

返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

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

10. forEach()

对数组的每个元素执行一次提供的函数。

let arr = [1, 2, 3];
arr.forEach(function(element) {
  console.log(element);
});
// 输出:
// 1
// 2
// 3

11. map()

map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。

let numbers = [1, 4, 9];
let roots = numbers.map(Math.sqrt);
console.log(roots); // [1, 2, 3]

// 或者使用箭头函数
let doubled = numbers.map(x => x * 2);
console.log(doubled); // [2, 8, 18]

12. filter()

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

let numbers = [1, 2, 3, 4, 5, 6];
let even = numbers.filter(function(number) {
  return number % 2 === 0;
});
console.log(even); // [2, 4, 6]

// 使用箭头函数
let odd = numbers.filter(number => number % 2 !== 0);
console.log(odd); // [1, 3, 5]

13. reduce()

reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

let numbers = [1, 2, 3, 4];
let sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 10

// 也可以用于数组去重
let array = [1, 2, 2, 3, 4, 4, 5];
let uniqueArray = array.reduce((acc, current) => {
  if (acc.indexOf(current) === -1) acc.push(current);
  return acc;
}, []);
console.log(uniqueArray); // [1, 2, 3, 4, 5]

14. find()

find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

let array = [5, 12, 8, 130, 44];
let found = array.find(element => element > 10);
console.log(found); // 12

15. findIndex()

findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。

let array = [5, 12, 8, 130, 44];
let index = array.findIndex(element => element > 10);
console.log(index); // 1

16. some()

some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是布尔值。

let array = [1, 2, 3, 4, 5];
let hasLargeNumbers = array.some(element => element > 10);
console.log(hasLargeNumbers); // false

let hasSmallNumbers = array.some(element => element < 6);
console.log(hasSmallNumbers); // true

17. every()

every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回的是布尔值。

let array = [1, 2, 3, 4, 5];
let areAllEven = array.every(element => element % 2 === 0);
console.log(areAllEven); // false

let areAllPositive = array.every(element => element > 0);
console.log(areAllPositive); // true

18. includes()

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false

let array = [1, 2, 3];
console.log(array.includes(2)); // true
console.log(array.includes(4)); // false

这些方法是JavaScript数组操作中非常常用的,能够帮助你高效地进行数组遍历、查找、过滤、映射和归约等操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值