在JavaScript中,slice()和splice()是两个数组方法,它们有不同的功能和用法。
1. slice()方法:
- slice()方法返回一个新的数组,包含从原数组中选择的元素。
- 它接受两个参数,分别是起始索引和结束索引(可选)。起始索引包含在结果中,结束索引不包含在结果中。
- 如果不指定结束索引,则slice()方法会选择从起始索引开始到数组末尾的所有元素。
- 原数组不会被修改。
- 示例:
```javascript
const fruits = ['apple', 'banana', 'orange', 'mango'];
const selectedFruits = fruits.slice(1, 3);
console.log(selectedFruits); // ['banana', 'orange']
console.log(fruits); // ['apple', 'banana', 'orange', 'mango']
```
2. splice()方法:
- splice()方法用于修改原数组,可以删除、替换或插入元素。
- 它接受三个或更多参数,第一个参数是起始索引,表示在哪里开始修改数组,第二个参数是要删除的元素数量(可选),接下来的参数是要插入到数组中的元素(可选)。
- splice()方法会修改原数组,并返回一个包含被删除元素的新数组(如果有删除的元素)。
- 示例:
```javascript
const fruits = ['apple', 'banana', 'orange', 'mango'];
const removedFruits = fruits.splice(1, 2, 'grape', 'watermelon');
console.log(fruits); // ['apple', 'grape', 'watermelon', 'mango']
console.log(removedFruits); // ['banana', 'orange']
```
总结:
- slice()方法返回一个新数组,不修改原数组;splice()方法修改原数组。
- slice()方法接受起始索引和结束索引作为参数,返回选择的元素;splice()方法接受起始索引、删除元素数量和插入的元素作为参数,返回被删除的元素。
- slice()方法不会改变原数组,而splice()方法会改变原数组。