数组
数组也是一个对象#
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是删除往后的几个indexconsole.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]=F4console.log(dong);console.log(xi);console.log(lai);console.log(bei);console.log(zhong);分别输出 a,b,c,d,e
reduce#
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
有待仔细研究下