数组也是一个对象
arrya本质上也是一个object
let a =[]
a[0]='haha'
a.push('xixi')
a.name='xiaoyu'
console.log(a)//[ 'haha', 'xixi', name: 'xiaoyu' ]
//对象属性永远都在最后,且,对象属性不算在数组长度中
判断是否为数组
let a=[6,9]
console.log(a instanceof Array)
let a=[6,9]
console.log(Array.isArray(a))//两种都行
添加数据
push
let a=[6,9]
a.push(8)
console.log(a)//只会在尾部
unshift
let a=[6,9]
a.unshift(8,10)
console.log(a)//只会从头部开始加
删除数据
pop
let a=[6,9]
a.pop()
console.log(a)//删除尾部的 一个数据
shift
let a=[6,9,10,2,3,5]
a.shift()
console.log(a)//删除头部一个数据
排序
reverse
反转数组
let a=[6,9,10,2,3,5]
a.reverse()
console.log(a)//[ 5, 3, 2, 10, 9, 6 ]
sort
let a=[6,9,10,2,3,5,12,33,47]
a.sort((a,b)=>{
return a-b
})
console.log(a)//[ 2, 3, 5, 6, 9, 10, 12, 33, 47] 升序
let a=[6,9,10,2,3,5,12,33,47]
a.sort((a,b)=>{
return b-a
})
console.log(a) //降序
索引
indexOf
let a=[6,9,10,2,3,5,12,33,47]
console.log(a.indexOf(10)) //2,如果有多个相同 的元素会返回第一个索引到的位置
如果没有该元素就是-1
lastindexOf
let a=[6,9,10,2,3,5,12,10,47]
console.log(a.lastIndexOf(10))//7
转化为string
toString()
let a=[6,9,10,2,3,5,12,10,47]
console.log(a.toString())//6,9,10,2,3,5,12,10,47
join
let a=[6,9,10,2,3,5,12,10,47]
console.log(a.join('-'))//6-9-10-2-3-5-12-10-47
forEach
是一种便利数组的方式
let b=[1,3,5,7,8]
b.forEach((o,index,a)=>{
console.log(o) //第一个参数代表,数组里的每一个元素
console.log(index)//第2个是index
console.log(a)//第3个代表数组本身
})
slice
获取数组中指定的片段,并输出单独的数组
let b=[1,3,5,7,8]
let a=b.slice(2,4)//指定开始和结束的index就行了,当然不包括end的值
console.log(a)//[ 5, 7 ]
当传入一个参数的时候:
let b=[1,3,5,7,8]
let a=b.slice(2)
console.log(a)//[ 5, 7, 8 ]
//就是直接一直到数组结尾
splice
用于删除指定长度的数组内的内容
let b=[1,3,5,7,8]
b.splice(1,2)//参数1是从哪个index开始,参数2是删除往后的几个index
console.log(b)//[ 1, 7, 8 ]
添加新内容
let b=[1,3,5,7,8]
b.splice(1,2,'xiao','yu')//参数3往后就是要在删除index的地方添加的新数组成员
console.log(b)//[ 1, 'xiao', 'yu', 7, 8 ]
数组解构
const F4=['a','b','c','d']
F4.push('e')
let [dong,xi,lai,bei,zhong]=F4
console.log(dong);
console.log(xi);
console.log(lai);
console.log(bei);
console.log(zhong);
分别输出 a,b,c,d,e