让我为大家介绍一下数组的增删改查的方法吧!本人文笔有限,如有什么不对的地方,请大家见谅!
1.unshift——从数组前方添加
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度,会改变原数组
//创建一个数组 var arr = [1,2,3,4,5] //使用unshift()方法增加 console.log(arr.unshift(0));//返回数组长度,6 console.log(arr);//输出结果 [0, 1, 2, 3, 4, 5] 在数组最前面添加一个元素 arr.unshift(-2,-1)//可以一直往前加 console.log(arr);//输出结果[-2, -1, 0, 1, 2, 3, 4, 5]
2.push——从数组后方添加
push() 方法可向数组的末尾添加一个或更多元素,并返回新的长度,会改变原数组
// 创建一个数组 var arr = [1,2,3,4,5] //使用push()方法增加 console.log(arr.push(6));//返回数组长度,6 console.log(arr);//输出结果 [ 1, 2, 3, 4, 5, 6] 在数组最末尾添加一个元素 arr.push(7,8)//可以一直往末尾添加 console.log(arr);//输出结果[ 1, 2, 3, 4, 5, 6, 7, 8]
3.shift——从数组最前面删除
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值,会改变原数组
// 创建一个数组 var arr = [1,2,3,4,5] //使用shift()方法,删除数组的第一个元素 console.log(arr.shift());//返回被删除的第一个元素,输出:1 console.log(arr);//输出结果 [ 2, 3, 4, 5] 数组第一个元素已被删除 console.log(arr.length);//输出结果为:4 会改变原数组的长度
4.pop——从数组末尾删除
pop() 方法用于把数组的最后一个元素从其中删除,并返回最后一个元素的值,会改变原数组
// 创建一个数组 var arr = [1,2,3,4,5] //使用pop()方法,删除数组的第一个元素 console.log(arr.pop())//返回被删除的最后一个元素,输出:5 console.log(arr);//输出结果 [ 1, 2, 3, 4] 数组最后一个元素已被删除 console.log(arr.length);//输出结果为:4 会改变原数组的长度
5.splice——可以实现添加、删除、替换操作
splice()方法用于添加、删除、替换某一个元素,十分好用,会改变原数组
当splice()一个参数时,代码如下:
// 创建一个数组 var arr = [1,2,3,4,5] // 使用splice方法 // 一个值时从下标为start开始删除,包括自身,一直删到末尾 console.log(arr.splice(1))//下标为1开始删除,返回被删除的元素[2,3,4,5] console.log(arr)//会改变原数组返回1
当splice()二个参数时,代码如下:
// 创建一个数组 var arr = [1,2,3,4,5] // 使用splice方法 // 二个值时,splice(从哪开始删(下标),删除的个数从1开始不是0) console.log(arr.splice(0,1))//下标0开始,删除一个,也就是删除了1这个元素,返回被删除的元素 console.log(arr)//会改变原数组,返回[2,3,4,5]
当splice()三个参数及以上时,代码如下:
// 创建一个数组 var arr = [1, 2, 3, 4, 5] // 使用splice方法 // splice(从哪开始删(下标),删除的个数从1开始不是0,往这个删除的元素之前添加的元素) //可以添加多个 console.log(arr.splice(0, 1, -1, -2))//删除1这个元素往这个元素前添加 console.log(arr)//会改变原数组,返回[-1,-2,2,3,4,5]
6.slice——截取数组
可以用来从数组提取指定元素,该方法不会改变数组,而是将截取到的元素封装到一个新数组中返回
参数:
1.截取开始位置的索引,包含开始索引
2.截取结束位置的索引,不包含结束索引
第二个值可以省略不写,此时会截取从开始索引开始往后的所有元素
代码如下:
// 创建一个数组 var arr = ["a","b","c","d"] // 当slice一个参数时 var result=arr.slice(2) console.log(result)//返回["c","d"] // 当slice二个参数时 var result1 = arr.slice(0,2) console.log(result1)//返回["a","b"]
7.delete——删除元素但保留自身
delete可以删除元素但保留自身,代码如下:
// 创建一个数组 var arr = [1, 2] // 使用delete,它与其它方法使用格式不太一样 var del = delete arr[0]//删除下标为0的元素,保留自身 console.log(arr)//会改变原数组,返回[空,2]
8.reverse——反转数组
反转数组,会改变原数组,代码如下:
// 创建一个数组 var arr = [1, 2, 3, 4] //使用reverse()方法 arr.reverse() console.log(arr)//会改变原数组,返回[4,3,2,1]
9.concat——拼接数组
可以拼接数组,代码如下:
// 创建一个数组 var arr = [1, 2] var arr1 = [3, 4] // 使用concat方法可以拼接数组返回一个新数组 var arr2 =arr.concat(arr1) console.log(arr2)//输出[1,2,3,4]
10.join——数组转换成字符串
join()可以把数组转换成字符串,代码如下:
// 创建一个数组 var arr = [1, 2, 3, 4] var str = arr.join(",")//添加,可以拼接成字符串 console.log(str)//会把数组装换成字符串,返回1,2,3,4(字符串类型)
11.indexOf——查找数组是否存在这个元素
indexOf()可以查找这个值是否存在,存在则返回其第一次出现的索引,不存在返回-1
代码如下:
// 创建一个数组 var arr = [1, 2, 3, 4] //使用indexOf()方法,indexOf(想要查找的值,如果是字符串记得用''包起来), //可以查找是否存在这个值,如果存在返回这个元素的下标,不存在返回-1 console.log(arr.indexOf(0))//返回-1,找不到返回-1 console.log(arr.indexOf(1))//返回0,下标为0
12.lastIndexOf——查找数组是否存在这个元素
lastIndexOf与indexOf不一样,lastIndexOf是从后往前查找,存在返回目标元素下标,不存在返回-1
代码如下:
// 创建一个数组 var arr = [1,2,3,1,2,3] // lastIndexOf是从后往前查找 //可以查找是否存在这个值,如果存在返回这个元素的下标,不存在返回-1 console.log(arr.lastIndexOf(0))//返回-1 console.log(arr.lastIndexOf(1))//返回3
感谢大家的阅读,如果有什么不对的地方,可以向我提出,感谢大家!