JavaScript中常用的数组方法?是否改变原数组?

在 JavaScript 中,有许多内置的数组方法,可以分为两类:改变原数组和不改变原数组。

以下是一些常用的改变原数组的数组方法:

  1. push(): 向数组末尾添加一个或多个元素,并返回新的长度。
  2. pop(): 删除并返回数组的最后一个元素。
  3. shift(): 删除并返回数组的第一个元素。
  4. unshift(): 在数组的开头添加一个或多个元素,并返回新的长度。
  5. splice(): 从数组中添加或删除元素,并返回被删除的元素。
  6. sort(): 对数组的元素进行排序,并返回数组。
  7. reverse(): 反转数组的元素顺序,并返回数组。

以下是一些常用的不改变原数组的数组方法:

  1. slice(): 返回一个数组的子数组,不改变原数组。
  2. concat(): 连接两个或更多数组,并返回新数组。
  3. join(): 将数组的所有元素连接成一个字符串,用指定的分隔符隔开。
  4. indexOf()includes(): 查找指定元素在数组中的位置或判断是否存在。
  5. forEach(): 遍历数组中的每个元素并执行给定的函数,不改变原数组。
  6. map(): 创建一个新数组,新数组中的每个元素是原数组元素经过函数处理后的结果,不改变原数组。
  7. filter(): 创建一个新数组,新数组中的元素是原数组中满足指定条件的元素,不改变原数组。
  8. reduce(): 将数组元素从左到右依次处理,最终计算出一个值,不改变原数组。

JavaScript 中有许多内置的数组方法,这些方法用于处理和操作数组。下面列举了一些常用的方法:

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

let arr = [1, 2, 3];
arr.push(4); // arr is now [1, 2, 3, 4], returns 4

pop(): 删除并返回数组的最后一个元素。

arr.pop(); // arr is now [1, 2, 3], returns 4

shift(): 删除并返回数组的第一个元素。

arr.shift(); // arr is now [2, 3], returns 1

unshift(): 在数组的开头添加一个或多个元素,并返回新的长度。

arr.unshift(0); // arr is now [0, 2, 3], returns 3

slice(): 返回一个数组的子数组,不改变原数组。

let subArr = arr.slice(1, 3); // subArr is [2, 3], arr remains [0, 2, 3]

splice(): 从数组中添加或删除元素,并返回被删除的元素。

arr.splice(1, 1, 'newElement'); // arr is now [0, 'newElement', 3], returns [2]

concat(): 连接两个或更多数组,并返回新数组。

let arr2 = [4, 5];
let combined = arr.concat(arr2); // combined is [0, 1, 2, 3, 4, 5]

join(): 将数组的所有元素连接成一个字符串,用指定的分隔符隔开。

let str = arr.join(', '); // str is '0, 1, 2, 3'

indexOf()includes(): 查找指定元素在数组中的位置或判断是否存在。

let index = arr.indexOf(3); // index is 2
let exists = arr.includes(4); // exists is true

forEach(): 遍历数组中的每个元素并执行给定的函数。

arr.forEach(function(item) {
  console.log(item);
});

map(): 创建一个新数组,新数组中的每个元素是原数组元素经过函数处理后的结果。

let doubled = arr.map(function(item) {
  return item * 2;
});

filter(): 创建一个新数组,新数组中的元素是原数组中满足指定条件的元素。

let even = arr.filter(function(item) {
  return item % 2 === 0;
});

这只是部分常用方法,JavaScript 数组还有很多其他方法,如 reduce(), sort(), reverse() 等。

总之,当你使用改变原数组的方法时,需要注意数组本身会被修改,而不改变原数组的方法则会返回一个新数组或新值。

您可能还喜欢...

发表评论

您的电子邮箱地址不会被公开。