Js 里面有一些方法是会保证原数组不变,有的则是会修改原数组,下面是几个常用的方法,以及他的示例
一、保证原数组不变的方法
1. concat()
- 用法:用于合并两个或多个数组,返回一个新的数组,不会改变原数组
- 示例:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const newArr = arr1.concat(arr2);
console.log(arr1); // [1, 2, 3]
console.log(newArr); // [1, 2, 3, 4, 5, 6]
2. slice()
- 用法:用于提取数组的一部分,返回一个新的数组,不会改变原来的数组
- 示例:
const originArray =[1,2,3,4,5]
const slicedArray = originArray.slice(1,4)
console.log(originArray) //[1,2,3,4,5]
console.log(slicedArray) // [2,3,4]
3. map()
- 用法:用于遍历数组,对每个元素执行一个提供的函数,返回一个新的数组,不会改变原来的数组
- 示例:
const numbers= [1,2,3];
const doubledNumbers = numbers.map(item => item * 2)
console.log(numbers) // [1,2,3];
console.log(doubledNumbers). //[2,4,6];
4. filter()
- 用法: 用于创建一个新数组,包含通过某个测试函数的所有元素,原数组不变
- 示例:
const arr = [1,2,3,4,5];
const filteredArr = arr.filter(item => item %2 ===0)
console.log(arr) //[1,2,3,4,5]
console.log(filteredArr) // [2,4]
二、修改原数组的方法
1. push()
- 用法: 在数组末尾添加一个或多个元素,返回新数组的长度,会改变原数组。
- 示例:
const myArray = [1,2,3];
const newLength = myArray.push(4);
console.log(myArray); // [1,2,3,4]
console.log(newLength); // 4
2. pop()
- 用法: 删除数组的最后一个元素,返回被删除的元素,会改变原数组
- 示例:
const array = [1,2,3];
const removedElement = array.pop();
console.log(array); // [1,2]
console.log(removedElement); // 3
3. shift()
- 用法: 删除数字的第一个元素,返回被删除的元素,会改变原数组
- 示例:
const array = [1,2,3,4];
const removedElement = array.shift();
console.log(array); // [2,3,4]
console.log(removedElement); // 1
4. unshift()
- 用法: 在数组的开头添加一个或多个元素,返回新数组的长度,会改变原数组
- 示例:
const myArray = [1,2,3];
const newLength = myArray.unshift(0);
console.log(myArray); //[0,1,2,3]
console.log(newLength); //4
5. splice()
- 用法: 通过删除或替换现有元素或者原地添加新的元素来修改数组,会改变原数组
- 示例:
const array = ['apple','banana','cherry'];
array.splice(1,1,'orange');
console.log(array); // ['apple','orange','cherry']
6. sort()
- 用法:对数组的元素进行排序,会改变原数组,默认按照字符串编码的升序排序,可传入比较函数进行自定义排序
- 示例:
const numbers= [4,2,5,1,3]
numbers.sort((a,b) =>a-b)
console.log(numbers) // [1,2,3,4,5]
7. reverse()
- 用法:反转数组中的元素顺序,会改变原数组
- 示例:
const array = [1,2,3,4];
array.reverse();
console.log(array); // [4,3,2,1]
以上举例了几个常用的方法,分别说明了哪些事会改变原来的数组,哪些是不会改变原数组,而是会创建一个新的数组去接收。数组有很多实用的方法,后面会从其他方面再讲一讲。