splice()方法
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。
注:此方法会改变原数组。
splice(start, deleteCount, item1, item2, itemN)
参数
-
start指定修改的开始位置(从 0 计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从 -1 计数,这意味着 -n 是倒数第 n 个元素并且等价于
array.length-n);如果负数的绝对值大于数组的长度,则表示开始位置为第 0 位。 -
deleteCount可选整数,表示要移除的数组元素的个数。如果
deleteCount大于start之后的元素的总数,则从start后面的元素都将被删除(含第start位)。如果deleteCount被省略了,或者它的值大于等于array.length - start(也就是说,如果它大于或者等于start之后的所有元素的数量),那么start之后数组的所有元素都会被删除。如果deleteCount是 0 或者负数,则不移除元素。这种情况下,至少应添加一个新元素。 -
item1, item2, ...可选要添加进数组的元素,从
start位置开始。如果不指定,则splice()将只删除数组元素。]
返回值
由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
应用
数组元素位置改变、调换位置
let i = 0;
array.splice(i + 2, 1, ...array.splice(i + 1, 1, ...array.splice(i, 1, array[i + 2])));
slice()方法
slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。
slice(begin, end)
参数
-
begin可选提取起始处的索引(从
0开始),从该索引开始提取原数组元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2)表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。如果省略begin,则slice从索引0开始。如果begin超出原数组的索引范围,则会返回空数组。 -
end可选提取终止处的索引(从
0开始),在该索引处结束提取原数组元素。slice会提取原数组中索引从begin到end的所有元素(包含begin,但不包含end)。slice(1,4)会提取原数组中从第二个元素开始一直到第四个元素的所有元素(索引为 1, 2, 3 的元素)。如果该参数为负数,则它表示在原数组中的倒数第几个元素结束抽取。slice(-2,-1)表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。如果end被省略,则slice会一直提取到原数组末尾。如果end大于数组的长度,slice也会一直提取到原数组末尾。
返回值
一个含有被提取元素的新数组。
split()
split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' ');
console.log(words[3]);
// Expected output: "fox"
返回值
返回源字符串以分隔符出现位置分隔而成的一个 Array