JavaScript中常见的数组操作方法有:push、pop、shift、unshift、concat、slice
、splice、sort、reverse、join
、toString、indexOf、lastIndexOf、forEach、map、filter、reduce、reduceRight
。
结论:
- 会直接修改原始数组有:增2个、删2个、合并、排序2个。
- 但是 slice、join 不会修改原数组、以及 各种遍历、查询、累计 也都不会。
以下是这些方法的简要说明,以及其中会直接修改原数组的方法的代码示例:
-
push:将一个或多个元素添加到数组的末尾,并返回新数组的长度。
示例代码:let arr = [1, 2, 3]; arr.push(4); // 返回值是剩余的数组长度 console.log(arr); // [1, 2, 3, 4]
-
pop:删除数组的最后一个元素,并返回该元素的值。
示例代码:let arr = [1, 2, 3]; let lastElement = arr.pop(); // 返回值是 末尾元素 console.log(arr); // [1, 2] console.log(lastElement); // 3
-
shift:删除数组的第一个元素,并返回该元素的值。
示例代码:let arr = [1, 2, 3]; let firstElement = arr.shift(); // 返回值是 第一个元素 console.log(arr); // [2, 3] console.log(firstElement); // 1
-
unshift:将一个或多个元素添加到数组的开头,并返回新数组的长度。
示例代码:let arr = [1, 2, 3]; arr.unshift(0); // 返回值是剩余的数组长度 console.log(arr); // [0, 1, 2, 3]
-
concat:将两个或多个数组合并成一个新数组,并返回新数组。
示例代码:let arr1 = [1, 2]; let arr2 = [3, 4]; let newArr = arr1.concat(arr2); console.log(newArr); // [1, 2, 3, 4]
-
slice:对数组中指定区间进行copy,不修改原数组,并返回新数组。
示例代码:let arr = [1, 2, 3, 4, 5]; let newArr = arr.slice(1, 3); console.log(newArr); // [2, 3] console.log(arr); // [1, 2, 3, 4, 5] 不变
-
splice:向/从数组中添加/删除项目,然后返回被删除的元素。
示例代码:let arr = [1, 2, 3, 4, 5]; let removedElements = arr.splice(1, 2); console.log(arr); // [1, 4, 5] console.log(removedElements); // [2, 3]
-
sort:对数组元素进行排序,并返回排序后的数组。注意,它会直接修改原数组。
示例代码:let arr = [3, 2, 1]; arr.sort(); console.log(arr); // [1, 2, 3]
-
reverse:颠倒数组中元素的顺序,并返回颠倒后的数组。注意,它会直接修改原数组。
示例代码:let arr = [1, 2, 3]; arr.reverse(); console.log(arr); // [3, 2, 1]
-
join:将数组中所有元素转换为字符串,并连接起来,返回一个新字符串。默认以逗号分隔元素。
示例代码:let arr = [1, 2, 3]; let str = arr.join(); console.log(str); // "1,2,3" console.log(arr); // [1, 2, 3] 没改变
… 等等
如果觉得不错,不妨点个赞吧❤️