slice()
- 从数组提取指定元素
- 该方法不会改变原数组,会将提取到的元素返回给方法。
语法:
数组.slice(参数1,参数2);
参数:
- 包含开始不包含结束
截取开始的位置的索引,包括开始索引
var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
console.log(arr); // 孙悟空 猪八戒 沙和尚 唐僧
var result = arr.slice(0,2);
console.log(result); // 孙悟空 猪八戒
截取结束的位置的索引,不包含结束索引
- 第二个参数可以省略不写,此时会截取从开始索引后的所有元素
索引可以传递一个负值,如果传递一个负值,则从后往前计算var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
console.log(arr);
var result = arr.slice(0);
console.log(result); / 孙悟空 猪八戒 沙和尚 唐僧
例如:-1 表示 倒数第一个 -2 表示 倒数第二个var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
console.log(arr);
var result = arr.slice(0,-1);
console.log(result); // 孙悟空 猪八戒 沙和尚
splice()
- 删除元素,并向数组添加新元素
- 使用 splice() 会影响到原数组,会将指定元素从原数组中删除
- 并将被删除的元素作为返回值返回
语法:
数组.splice(参数1,参数2,参数3);
参数:
第一个,表示开始位置的索引
第二个,表示删除的数量
第三个,可以传递一些新元素,这些元素将会自动插入到开始位置索引前边,可以传递多个元素
实例:
var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
console.log(arr); // 删除前 孙悟空 猪八戒 沙和尚 唐僧
var result = arr.splice(0,2);
console.log(result); // 被删除的元素 // 孙悟空 猪八戒
console.log(arr); // 删除后 沙和尚 唐僧
var arr = ['孙悟空', '猪八戒', '沙和尚', '唐僧'];
console.log(arr); // 删除前 孙悟空 猪八戒 沙和尚 唐僧
var result = arr.splice(0,2,"hello");
console.log(result); // 被删除的元素 // 孙悟空 猪八戒
console.log(arr); // 删除后 hello 沙和尚 唐僧