数组常见使用方法之splice
splice
方法:至少接收两个参数,参数index
:操作开始的数据下标;参数number
:传递一个Number类型的参数,表示需要删除多少个数据。可选参数X1,X2,X3…对数组进行完删除操作后,待新增到数组中的数据,不传入该参数时默认不进行新增操作。**注意:**splice() 方法用于修改数组,它的返回值是被删除的元素组成的一个数组。如果没有删除任何元素,则返回一个空数组。同时,该方法会修改原始数组,即会将被删除的元素从原始数组中移除并将其它元素的位置重新排序。需要注意的是,splice() 方法的参数可以同时指定要删除的元素和添加的元素。
1.删除
// 定义需要操作的数组
const array = ["0html", "1css", "2javascript", "3jquery"];
// 从数组下标为0的数据开始删除,删除个数为2
let result = array.splice(0, 2);
// 将result在控制台中输出
console.log(array); // ['2javascript', '3jquery']
2.新增
// 倘若我们需要使用splice方法进行数组数据的新增时,我们将number参数设置为0即可
let result1 = array.splice(0, 0, "4node.js", "5vue.js")
// 将result在控制台中输出
console.log(result1); // []
slice
slice(start,end)
:方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。
注意:该方法不会改变原数组
,而是返回一个子数组
,如果想删除数组中的一段元素,应该使用Array.splice()方法。
start参数
:必须,规定从何处开始选取,如果为负数,规定从数组尾部算起的位置,-1是指最后一个元素。
end参数
:可选(如果该参数没有指定
,那么切分的数组包含从start倒数组结束的所有元素
,如果这个参数为负数
,那么规定是从数组尾部
开始算起的元素,不包含尾部元素)。
数组使用for in 和for of的区别
我们知道for in
遍历的是key
值,因此当我们使用该种方法进行数组数据的遍历时,得到的数据只是数组的index
值。
// 定义需要操作的数组
const array = ["0html", "1css", "2javascript", "3jquery"];
// for...in遍历
for (let item in array) {
console.log(item); // 控制台依次打印出:0、1、2、3、4
console.log(array[item]); // 获取数据的正确方法
}
因为ECMAScript6语法中推出了iterator接口,而且Array是实现了该接口的,因此使用for…of遍历就直接获取数组的数据。
// 定义需要操作的数组
const array = ["0html", "1css", "2javascript", "3jquery"];
// for...of遍历
for (let item of array) {
console.log(item); // 依次打印出数组的数据
}