1.创建和初始化数组

  1. let daysOfWeek = new Array() //
  2. daysOfWeek = new Array(7) //
  3. daysOfWeek = new Array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')

(1) new 关键字, 可以声明并初始化一个数组
(2) 还可以创建一个指定长度的数组
(3) 还可以直接将数组元素作为参数传递给它的构造器

用 new 创建数组并不是最好的方式, 用 中括号 [] 形式就行了

  1. let daysOfWeek = []
  2. let daysOfWeek = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
  3. console.log(daysOfWeek.length)

(1) 同上 1
(2) 同上 3
(3) 数组的 length 属性, 可以知道数组里存了多少个元素

2. 添加元素

  1. let numbers = [0,1,2,3,4,5,6,7,8,9]

(1)在数组末尾插入元素 (push)

  1. 把值赋给数组中最后一个空位上的元素

    1. number[numbers.length]=10;
  2. 使用 push 方法

    1. number.push(11)
    2. number.push(12,13)

    (2)在数组开头插入元素 (unshift)

  3. 空出第一个元素位置, 把所有元素向右移动一位

    1. Array.prototype.insertFirstPosition = function(value){
    2. for(let i = this.length; i>=0; i--){
    3. this[i]=this[i-1]
    4. }
    5. this[0]=value
    6. }
    7. numbers.insertFirstPosition(-1)
  4. 使用 unshift 方法 , 可以直接把数值插入数组的开头

    1. numbers.unshift(-2)
    2. numbers.unshift(-4,-3)

    3. 删除元素

    (1)从数组末尾删除元素 (pop)

    1. numbers.pop()

    (2)从数组开头删除元素 (shift)

  5. 删除第一个元素, 将所有元素左移一位

但是要真正删除这个元素, 我们需要创建一个新的数组, 将所有不是 undefined 的值从原来的数组复制到新的数组中去, 并且将这个新的数组赋值给我们的数组

  1. Array.prototype.reIndex = function(myArray){
  2. const newArray = []
  3. for(let i = 0;i<myArray.length;i++){
  4. if(myArray[i] !== undefined){
  5. //console.log(myArray[i])
  6. newArray.push(myArray[i])
  7. }
  8. }
  9. return newArray
  10. }
  11. //手动删除第一个元素并重新排序
  12. Array.prototype.removeFirstPosition = function(){
  13. for(let i = 0; i<this.length; i++){
  14. this[i]=this[i+1];
  15. }
  16. return this.reIndex(this)
  17. }
  18. number=number.removeFirstPosition()
  1. 使用 shift 方法

    1. number.shift()

    (3)在任意位置添加或删除元素 (splice)

    .splice(索引值 , 删除元素的个数 , 添加的数组里值)

    1. let numbers = [0,1,2,3,4,5,6,7,8,9]
    2. (1)numbers.splice(5,3)
    3. (2)numbers.splice(5,0,5,6,7)
    4. (3)numbers.splice(5,3,2,3,4)
  2. 可以通过指定位置/索引, 就可以删除相应位置上指定数量的元素

删除了数组索引 5 开始的 3 个元素, 值变成了 0,1,2,3,4,8,9

  1. 将刚才删除的数添加回来 , 值 0,1,2,3,4,5,6,7,8,9
  2. 删除刚刚的值, 添加新值 , 值 0,1,2,3,4,5,2,3,4,8,9

    4. 二维和多维数组

    ???

    5. 数组方法参考

    | concat | 连接 2 个或更多数组, 并返回结果 | | | —- | —- | —- | | every | 对数组中的每个元素运行给定函数, 如果该函数对每个元素都返回 true, 则返回 true | | | filter | 对数组中的每个元素运行给定函数, 返回该函数会返回 true 的元素组成的数组 | | | forEach | 对数组中的每个元素运行给定函数, 这个方法没有返回值 | | | join | 将所有的数组 | | | | | | | | | | | | | | | | | | | | | | | | | |