数组

92 阅读1分钟

数组原理

数组实际上就是一种特殊的对象 index 是对象的 key,数组上的方法例如 push(),unshift()其实都是继承自 Array 原型上的方法

Tips:

  1. push unshift 返回值为执行完数组的长度

  2. pop shift 返回值为取出的元素的值

  3. splice(开始剪切项的下标,剪切长度,剪切最后一位开始添加的数据) --var arr = ["a","b","c","e"];在 c 后面添加 d arr.splice(3,0,"d")

  4. sort->默认按照同位 ASCII 码来排 sort(function(a,b){

    • 1.参数 a,b
    • 2.返回值: 1. 负值,a 排前面 2. 正值,b 排前面 3. 0,保持不动

    })

  5. push 原理

    Array.prototype.push = function(ele){
       this[this.length] = ele;
       this.length+=1;
    }
    

类数组

形如下面这样的对象既有数组的性质又有对象的性质

var likeArray = {
  0: "张三",
  1: "李四",
  name: "王五",
  age: 21,
  length: 2,
  push: Array.prototype.push,
  splice: Array.prototype.splice,
};