数组
array 是js中的一种数据类型
形如[0,1,2,3,4,5]
每一个元素都有它对应的索引(index)也可称为下标
可按照索引查找到指定元素
可以通过Array.isArray()来判断一个数据数据是否是数组
创建数组的方法
在js中创建数组的方法有
let arr = [0,1,2,3,4]
let arr = new array ()
需要注意的是在js中数组是一种特殊的对象
所以有一些属性和方法
数组的属性和方法
arr.length 获取数组的长度
length可以用来控制有时候数组的循环
length-1就是数组最后一个元素的索引
方法:
- arr.split()
括号里接收一个参数以什么为分割
可以将字符串装换成数组
方法返回一个新数组不会改变原数组
let arr = [wo ai ni a ]
//这个数组中间都有空格所以可以将空格传进去
let arr1 = arr.split(" ")
arr1.foreche(function(index){
cosole.log(index)
// wo
// ai
// ni
// a
})
- 复制数组的方法
复制数组有两种方法
浅复制和深复制
浅复制特别简单
浅复制
let arr1 = [1,1,2,4]
let arr2 =arr1
console.log(arr2)//[1,1,2,4]
//虽然可以复制但是复制的只是数组的引用地址
//如果一个数组改变另一个相同地址的数组也会被改变
//不建议使用
深复制
function copy(arr1,arr2){
for(let i=0;i<arr1.length;i++)
arr2[i]=arr1[i]
}
let num = [1,2,3,4,5]
let copynum = []
copy(num,copynum)
console.log(copynum)//[1,2,3,4,5]
//利用一个空数组来接收
- 查找元素
** indexof**
** lastindexof**
indexof可以查找一串数组中的元素
如果有就返回该元素的第一个元素的索引
如果没有就返回-1
lastindexof返回最后一个相同元素
let arr = ["heihei","xixi",1,2,3]
function soerch(arr,index){
let Return=arr.indexOf(index)
if(Return==-1){
console.log("no have ")
}else{
console.log(Return)
return Return
}
}
soerch(arr,"0") //No hava
soerch(arr,"heihei")//0
- 数组转换为字符串
join() tostring()
这两个方法都会返回一个包含数组所有元素的字符串
各元素之间默认用','分割
其中join()可以接受一个字符 用传入的字符来分割数组
let arr = ["wo","shi","ni","baba"]
let str = arr.toString()
console.log(str) // "wo,shi,ni,baba"
console.log(arr.join(" "))//"wo shi ni baba"
- 拼接和切割数组
concat() splice()
concat()可以将两个数组连接起来返回一个新的数组
arr.concat(arr2)
splice()将数组切片返回一个新的数组 接受两个参数起始位置的索引,截取长度
concat不会改变原数组,splice会改变
let arr = ["wo","shi","ni","baba"]
let arr2 = [1,2,3,4]
let arr3=arr.concat(arr2)
console.log(arr3)//["wo","shi","ni","baba",1,2,3,4]
let arr4 = arr3.splice(0,4)//接受两个参数 第一个是截取位置的索引 第二个是长度
console.log(arr4)//["wo","shi","ni","baba"]
console.log(arr3)//[1,2,3,4] //原数组被改变了
- 添加元素
push() unshift()
push() 在数组最后依次添加元素
unshift()在数组最前依次添加元素
let arr = [1,2,3]
arr.push(4,5)
console.log(arr)//[1,2,3,4,5]
arr.unshift(0,-1)
console.log(arr)//[0,-1,1,2,3,4,5,]
- 删除元素
pop() shift()
pop()删除末尾最后一个元素
shift()删除第一个元素
这两个函数都会将删除的元素返回可以来一个变量来接收
let arr = [1,2,3]
console.log(arr.pop())//3
console.log(arr)//[1,2]
console.log(arr.shift())//1
console.log(arr)//2
也可以通过splice进行数组的删除和增加
let arr = [1,2,6,7]
arr.splice(2,0,3,4,5)
console.log(arr)//从2开始增加3.4.5
arr.splice(0,3)
console.log(arr)//[4,5,6,7]
- 排序
reverse() sort()
rever()可以将数组进行翻转
sort可以将数组按照字典进行排序 但是碰到数字类型的就不太好用
可以写一个函数 sort会按照返回值
let arr =[5,4,3,2,1]
arr.reverse()
console.log(arr) //[1,2,3,4,5]
let arr1 = [5,6,7,1,2]
arr1.sort(function(arr1,arr2){
return arr1-arr2
})
console.log(arr1)
```********
网友评论