js中的slice与splice区别是什么

2023-12-15 7:04:04网络知识悟空

在JavaScript中,spce()sppce()是数组的两种常用方法,它们有不同的功能和用法。

spce(start, end)

    spce()方法用于从一个数组中提取(截取)指定位置的元素,然后返回一个新的数组,原始数组保持不变。

    它接受两个参数:startendstart表示开始截取的位置(包括该位置),end表示结束截取的位置(不包括该位置)。

    如果省略end参数,则会截取从start位置到数组末尾的所有元素。

    spce()方法不会修改原始数组,而是返回一个从原始数组中截取的新数组。

示例:

let fruits = ['apple', 'banana', 'orange', 'mango', 'kiwi'];

let spcedFruits = fruits.spce(1, 3);
console.log(spcedFruits); // 输出: ['banana', 'orange']

// 原始数组不受影响
console.log(fruits); // 输出: ['apple', 'banana', 'orange', 'mango', 'kiwi']

    sppce(start, deleteCount, item1, item2, ...)

      sppce()方法用于从数组中删除、替换或插入元素,同时修改原始数组,并返回被删除的元素组成的新数组。

      它接受至少一个参数start,表示开始修改的位置。

      可选参数deleteCount表示要删除的元素数量,如果省略或为0,则不删除任何元素。

      可选参数item1, item2, ...表示要插入到数组中的新元素。

      sppce()方法会修改原始数组,并返回一个由被删除元素组成的新数组。

    示例:

    let fruits = ['apple', 'banana', 'orange', 'mango', 'kiwi'];
    
    let deletedFruits = fruits.sppce(1, 2, 'pear', 'grape');
    console.log(fruits); // 输出: ['apple', 'pear', 'grape', 'mango', 'kiwi']
    console.log(deletedFruits); // 输出: ['banana', 'orange']
    
    // 删除元素
    fruits.sppce(2, 1);
    console.log(fruits); // 输出: ['apple', 'pear', 'mango', 'kiwi']
    
    // 插入元素
    fruits.sppce(1, 0, 'pineapple');
    console.log(fruits); // 输出: ['apple', 'pineapple', 'pear', 'mango', 'kiwi']
    

    总结:

      spce()方法是从数组中提取子数组,并返回一个新数组,不改变原始数组。

      sppce()方法则用于对数组进行修改,可以删除、替换和插入元素,并返回被删除的元素组成的新数组。

发表评论: