概念
    数组就是一个存储数据的一个容器 一般存储一组数据 类似[1,3,5,8] [‘姓名’,’年龄’,’性别’]

    定义数组
    **
    第一种定义

    1. var arr = [1,2,3,4]

    第二种定义

    1. var arr2 = new Array(1,3,9)

    数组常用api方法
    添加

    push 返回当前数组长度 往数组最后一个位置插入元素

    1. var arr = [1]
    2. arr.push("test")
    3. //print [1, "test"] //test在后面

    unshift 返回当前数组长度 往数组第一个位置插入元素

    1. var arr = [10]
    2. arr.unshift(90)
    3. //print [90, 10] //90在前面

    删除 (传入两个参数就是删除)

    splice

    1. var arr = [1,2,3,4,5,6]
    2. //删除4
    3. arr.splice(3,1) //3 表示下标从0开始 1代表长度
    4. //print [1, 2, 3, 5, 6]

    pop

    1. var arr = [1, 2, 3, 5, 6];
    2. arr.pop()
    3. //print [1, 2, 3, 5] 把最后一个元素删除了 返回删除的元素

    修改 (传入三个参数及以上就是修改或者插入)

    splice

    1. var arr = [1,2,3]
    2. arr.splice(1,1,0,1) //第一个参数删除的下标 第二个删除长度 第三个插入的元素 第四个插入的元素
    3. //print [1, 0, 1, 3] 返回删除元素

    查找|遍历
    for

    1. for(var i = 0; i < 10; i++){
    2. console.log(i)
    3. }
    4. //0 1 2 。。。 10

    foreach

    1. arr.forEach(function(it,index,arr){
    2. console.log(it,'it')
    3. console.log(index,'index')
    4. console.log(arr,'arr')
    5. })
    6. //it当前元素 index当前元素下标 arr原数组
    7. //print
    8. 1 "it"
    9. 0 "index"
    10. 1, 2, 3, 4] "arr"

    filter 数组过滤

    1. var arr = [1,2,3,10,100,200]
    2. arr.filter(function(it,index,arr){
    3. return it > 10 && it % 200 == 0
    4. })
    5. //print 返回大于10的元素且取余200为0的元素 不会改变原数组
    6. (2) [200]

    every 检查数组中每个元素都满足这个条件

    1. if(arr.every(function(it){
    2. return it >= 800 && it <= 1000
    3. })){
    4. alert('yes')
    5. }else{
    6. alert('no')
    7. }
    8. //print yes

    some 检查数组 只要有一个元素满足这个条件

    1. var arr = [800, 900, 1000];
    2. arr.some(function(it){
    3. return it > 100
    4. })
    5. //print true

    Array.prototype常用的api方法

    1. concat
    2. constructor
    3. copyWithin
    4. entries
    5. every
    6. fill
    7. filter
    8. find
    9. findIndex
    10. flat
    11. flatMap
    12. forEach
    13. includes
    14. indexOf
    15. join
    16. keys
    17. lastIndexOf
    18. map
    19. pop
    20. push
    21. reduce
    22. reduceRight
    23. reverse
    24. shift
    25. slice
    26. some
    27. sort
    28. splice
    29. toLocaleString
    30. toString
    31. unshift
    32. values