概念
数组就是一个存储数据的一个容器 一般存储一组数据 类似[1,3,5,8] [‘姓名’,’年龄’,’性别’]
定义数组
**
第一种定义
var arr = [1,2,3,4]
第二种定义
var arr2 = new Array(1,3,9)
数组常用api方法
添加
push 返回当前数组长度 往数组最后一个位置插入元素
var arr = [1]arr.push("test")//print [1, "test"] //test在后面
unshift 返回当前数组长度 往数组第一个位置插入元素
var arr = [10]arr.unshift(90)//print [90, 10] //90在前面
删除 (传入两个参数就是删除)
splice
var arr = [1,2,3,4,5,6]//删除4arr.splice(3,1) //3 表示下标从0开始 1代表长度//print [1, 2, 3, 5, 6]
pop
var arr = [1, 2, 3, 5, 6];arr.pop()//print [1, 2, 3, 5] 把最后一个元素删除了 返回删除的元素
修改 (传入三个参数及以上就是修改或者插入)
splice
var arr = [1,2,3]arr.splice(1,1,0,1) //第一个参数删除的下标 第二个删除长度 第三个插入的元素 第四个插入的元素//print [1, 0, 1, 3] 返回删除元素
查找|遍历
for
for(var i = 0; i < 10; i++){console.log(i)}//0 1 2 。。。 10
foreach
arr.forEach(function(it,index,arr){console.log(it,'it')console.log(index,'index')console.log(arr,'arr')})//it当前元素 index当前元素下标 arr原数组1 "it"0 "index"1, 2, 3, 4] "arr"
filter 数组过滤
var arr = [1,2,3,10,100,200]arr.filter(function(it,index,arr){return it > 10 && it % 200 == 0})//print 返回大于10的元素且取余200为0的元素 不会改变原数组(2) [200]
every 检查数组中每个元素都满足这个条件
if(arr.every(function(it){return it >= 800 && it <= 1000})){alert('yes')}else{alert('no')}//print yes
some 检查数组 只要有一个元素满足这个条件
var arr = [800, 900, 1000];arr.some(function(it){return it > 100})//print true
Array.prototype常用的api方法
concatconstructorcopyWithinentrieseveryfillfilterfindfindIndexflatflatMapforEachincludesindexOfjoinkeyslastIndexOfmappoppushreducereduceRightreverseshiftslicesomesortsplicetoLocaleStringtoStringunshiftvalues
