js数组/方法/类数组

数组

数组的定义方法

  1. 字面量 let arr = []; 稀松数组 let arr = [1,23,4];
  2. new Array(); let arr = new Array(); let arr = new Array(1,23,4,5,5); 当只有一个参数的时候,这个参数表示数组的长度

数组的读写

  1. 溢出读,返回undefined

数组常用的方法

改变原数组

  1. .push() 向数组的最后一位push值 返回数组的长度
Array.prototype.push() = function(){
    for(let i = 0;i <arguments.length;i++){
    this[this.length] = arguments[i]
    }
    return this.length;
}
  1. pop() 剪切数组的最后一位 返回数组长度
  2. shift() 剪切数组的第0位 返回数组长度
  3. unshift() 向数组的第0位添加值, 返回数组的长度
  4. reverse() 逆转原数组
  5. splice(a,b,c) a : 从第几位开始,b : 截取多少的长度,c : 在切口处添加新的数据 负数表示从后面数
  6. sort() 给数组排序,但是会逐位比较ASCII码 所以排序可能不准确
  7. sort() 有预留接口 可自己添加函数
1. 必须写两个形参
2. 看返回值 1。当返回值为负数时,那么前面的数放在前面
           2. 正数,后面的数放前面
            3  0  不变

arr.sort(function(a,b){
    if(a > b){
        return 1;
    }else{
        return -1;
    }
})
  1. Math.random() 返回一个(0-1) 之间的随机数

不改变原数组 ()

  1. concat() 连接两个数组 原数组不改变
  2. toString() 将数组变转为字符串
  3. slice(a,b) a : 从a位开始截取 b : 截取到该位 /只有一个参数 从该位截取到最后
  4. join(’-’) 将数组连接为字符串 通过参数连接
  5. 字符串方法 : split(’-’) 按照参赛将字符串拆为数组

类数组 (长的像数组,但是没有数组方法)

可以利用属性名模拟数组的特性
可以动态的增长length属性
如果强行让类数组调用push方法,则会根据length属性值的位置进行属性的扩充

  1. 属性要为索引(数字)属性,必须有length属性,最好加上push方法
push方法内部原理
Array.prototype.push() = function(target){
    this[this.length] = target;
    this.length ++ ;
}
  1. 类数组
let obj = {
    '0' : 'a',
    '1' : 'b',
    '2' : 'c',
    'name ' : 'abc',
    'age' : 12,
    length : 3,
    push : Array.prototype.push,
    splice : Array.prototype.splice
}

原文地址:https://www.qianqianhaiou.cn/index.php/archives/83/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值