slice是截取
-
slice(a, b)是截取索引包括 a 不包括 b 之间的数或字符串,返回的是新数组
-
slice(a), 是从索引为a 的开始截取到最后的数组
const arr = [3, 4, 6, 7, 0, 4]
const arr1 = arr.slice(2, 5)
console.log(arr1) // [6, 7, 0]
console.log(arr.slice(-3)) // [7, 0, 4] 从后往前截,最后一位是-1,-3的位置是 7
splice 功能有:插入、删除、替换
-
返回值:始终都会返回一个包含从原始数组中删除的项的新数组,改变原数组。
-
该方法会改变原数组
// 删除——可以删除任意数量的项,只需要指定2个参数:要删除的第一项的位置和要删除项的项数。
// 例如,splice(0,2)会删除数组中的前两项
const arr3 = ['a', 'b', 'c', 'd', 'e']
console.log(arr3.splice(1, 2)) // 删除第一项位置为1,删除2项,并返回 ['b', 'c']
console.log(arr3) // ['a', 'd', 'e']
// 插入——可以向指定位置插入任意数量的项,只需要提供3个参数:起始位置、0(要删除的项数)和要插入的项。
// 如果要插入多个项,可以再传入第四、第五,一直任意多个项。
const arr4 = arr3.splice(1, 0, '哈哈')
console.log(arr3) // ['a', '哈哈', 'b','c', 'd', 'e'] //插入
// 替换——可以指向指定位置插入任意数量的项,且同时删除任意数量的项,只需要指定3个指定参数:起始位置、要删除的项数和要插入的任意数量项。
-----------------------------------
const arr4 = arr3.splice(1, 1, '哈哈')
console.log(arr3) // ['a', '哈哈', 'c', 'd', 'e']
// 替换,把索引为1的删除后替换成'哈哈'