让我为大家介绍一下数组的增删改查的方法吧!本人文笔有限,如有什么不对的地方,请大家见谅!
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]
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]
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 会改变原数组的长度
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 会改变原数组的长度
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]
可以用来从数组提取指定元素,该方法不会改变数组,而是将截取到的元素封装到一个新数组中返回
参数:
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"]
delete可以删除元素但保留自身,代码如下:
// 创建一个数组
var arr = [1, 2]
// 使用delete,它与其它方法使用格式不太一样
var del = delete arr[0]//删除下标为0的元素,保留自身
console.log(arr)//会改变原数组,返回[空,2]
反转数组,会改变原数组,代码如下:
// 创建一个数组
var arr = [1, 2, 3, 4]
//使用reverse()方法
arr.reverse()
console.log(arr)//会改变原数组,返回[4,3,2,1]
可以拼接数组,代码如下:
// 创建一个数组
var arr = [1, 2]
var arr1 = [3, 4]
// 使用concat方法可以拼接数组返回一个新数组
var arr2 =arr.concat(arr1)
console.log(arr2)//输出[1,2,3,4]
join()可以把数组转换成字符串,代码如下:
// 创建一个数组
var arr = [1, 2, 3, 4]
//使用reverse()方法
var str = arr.join(",")//添加,可以拼接成字符串
console.log(str)//会把数组装换成字符串,返回1,2,3,4(字符串类型)
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
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
感谢大家的阅读,如果有什么不对的地方,可以向我提出,感谢大家!