插件窝 干货文章 区分slice方法和splice方法

区分slice方法和splice方法

数组 方法 索引 元素 456    来源:    2024-10-12

slice方法与splice方法的区别,需要具体代码示例

在 JavaScript 中,数组是一种常用的数据结构,它允许我们存储多个值,并通过索引来访问和修改这些值。在操作数组时,我们经常会遇到需要截取数组的一部分或者删除/添加数组的元素的情况。JavaScript 提供了两个用于操作数组的方法,即slice方法和splice方法,它们在功能上有所不同。

首先,我们来看slice方法。这个方法可以通过指定起始索引和结束索引来返回一个新的数组,其中包含了原数组中从起始索引到结束索引之间的元素(不包含结束索引对应的元素)。slice方法不会修改原数组,而是返回一个新的数组副本。

下面是一个使用slice方法的示例代码:

const fruits = ['apple', 'banana', 'orange', 'grape', 'watermelon'];

// 从索引1开始,到索引3结束(不包含索引3)
const slicedFruits = fruits.slice(null, 3);

console.log(slicedFruits); // 输出: ['banana', 'orange']
console.log(fruits); // 输出: ['apple', 'banana', 'orange', 'grape', 'watermelon']

在上面的代码中,我们使用slice方法将原数组fruits从索引1到索引3之间的元素截取出来,得到了一个新的数组slicedFruits。注意,原数组fruits并没有发生改变,它依然包含了所有的元素。

接下来,我们来看splice方法。这个方法可以通过指定起始索引、要删除的元素个数和要添加的元素来修改数组。splice方法会直接修改原数组,而不是返回一个新的数组副本。

下面是一个使用splice方法的示例代码:

const fruits = ['apple', 'banana', 'orange', 'grape', 'watermelon'];

// 从索引1开始删除2个元素,并添加'pear'和'kiwi'
fruits.splice(null, 2, 'pear', 'kiwi');

console.log(fruits); // 输出: ['apple', 'pear', 'kiwi', 'grape', 'watermelon']

在上面的代码中,我们使用splice方法从原数组fruits中的索引1开始删除2个元素,并添加了'pear'和'kiwi'。可以看到,原数组fruits发生了改变,它的元素已经被修改。

总结:

  • slice方法是截取数组的一部分,返回一个新的数组副本,不会修改原数组;
  • splice方法是修改数组,可以删除和添加元素,直接修改原数组。

通过对slice方法和splice方法的比较,我们可以根据具体需求来选择使用哪种方法来操作数组。