JavaScript中常用的数组方法?是否改变原数组?
在 JavaScript 中,有许多内置的数组方法,可以分为两类:改变原数组和不改变原数组。
以下是一些常用的改变原数组的数组方法:
push()
: 向数组末尾添加一个或多个元素,并返回新的长度。pop()
: 删除并返回数组的最后一个元素。shift()
: 删除并返回数组的第一个元素。unshift()
: 在数组的开头添加一个或多个元素,并返回新的长度。splice()
: 从数组中添加或删除元素,并返回被删除的元素。sort()
: 对数组的元素进行排序,并返回数组。reverse()
: 反转数组的元素顺序,并返回数组。
以下是一些常用的不改变原数组的数组方法:
slice()
: 返回一个数组的子数组,不改变原数组。concat()
: 连接两个或更多数组,并返回新数组。join()
: 将数组的所有元素连接成一个字符串,用指定的分隔符隔开。indexOf()
或includes()
: 查找指定元素在数组中的位置或判断是否存在。forEach()
: 遍历数组中的每个元素并执行给定的函数,不改变原数组。map()
: 创建一个新数组,新数组中的每个元素是原数组元素经过函数处理后的结果,不改变原数组。filter()
: 创建一个新数组,新数组中的元素是原数组中满足指定条件的元素,不改变原数组。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()
等。
总之,当你使用改变原数组的方法时,需要注意数组本身会被修改,而不改变原数组的方法则会返回一个新数组或新值。
近期评论