JS数组之slice&splice
JS中的数组对象Array有很多内置的方法很好用,今天我来总结一下slice和splice的用法
1.slice()方法
slice()==作用:==从数组中截取指定的元素片段(形象的比喻就是:切片)
有两个形参
- -第一个形参表示起始位置,从下标0开始
- -第一个形参表示结束位置,但不包括结束位置的元素,
-详细说清请看代码(每一个consol输出语句后面的注释都是语句的页面运行结果)
// slice
//从数组中截取指定的元素
//两个形参:第一个是开始位置,从下标0开始
// 第二个是结束位置,不包括结束位置
var arr = [0, 1, 2, 3, 4, 5, 6];
var result = arr.slice(0, 2);
console.log(result);// [0,1]
console.log(typeof result);//obj 数组对象
//从第一个到倒数第二个
var result = arr.slice(1, -2);
console.log(result);// [1, 2, 3, 4]
//一个参数表示从该位置起后面的所有元素
var result = arr.slice(2);
console.log(result);// [2,3,4,5,6]
var result = arr.slice(-2);
console.log(result);// [5,6]
2.splice()方法
splice()==作用:==删除数组中指定位置的元素
有两个(或多个)形参:
第一个形参表示起始位置,从下标0开始
第一个形参表示删除的数量
第三及以后的形参表示,在删除元素的位置,添加元素(替换)
详细说清请看代码(每一个consol输出语句后面的注释都是语句的页面运行结果)
//splice()
// --删除数组中指定位置的元素(会影响原来数组)
// --两个(或多个)形参:
// 第一个是开始位置
// 第二个是删除的数量
// 第三及以后的参数表示,在删除元素的位置,添加元素(替换)
var arr1 = [0, 1, 2, 3, 4, 5, 6];
console.log("arr1 : " + JSON.stringify(arr1));
var result = arr1.splice(1, 2);
console.log("arr1.splice(1, 2) : " + result);// [1, 2]
console.log(typeof result);
console.log("arr1 : " + JSON.stringify(arr1));//[0,3,4,5,6]
console.log("-----------------------");
var arr1 = [0, 1, 2, 3, 4, 5, 6];
console.log("arr1 : " + JSON.stringify(arr1));
var result = arr1.splice(1, 2, 123);
console.log("arr1.splice(1,2,123) : " + result);// [1, 2]
console.log(typeof result);
console.log("arr1 : " + JSON.stringify(arr1));//[0,3,4,5,6]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------