JavaScript中的数组、伪数组、json的遍历及概念

JavaScript中的数组、伪数组、json的遍历

  • 数组

    • 定义一个空数组:var arr = []

      • []容器里头可以存放的类型不限制
      • length 是 数组的一个属性
      • arr.length = 0 清空数组
    • 遍历数组

      • (时间复杂度来计算的)

      • 低效版本:
        for (var i = 0; i < a.length; i++)
        分析:
        i=0
        a.length
        i<a.length
        i++
        假如循环n次,
        1 + 3n

      • 高效版
        for (var i = 0, l = a.length; i < l; i++)
        分析:
        i = 0
        l = a.length
        i < l
        i++
        假如循环n次:
        2 + 2n

      • 遍历二维数组

        • var a = [[1,2,3],[4,5,6],[7,8,9]]

        • 双重for循环即可遍历每一个元素

        • for (var i = 0, l = a.length; i < l; i++) {

          ​ for (var j = 0; j < a[i].length; j++) {

          ​ console.log(a[i][j])

          ​ }}

      • foreach

      • arr.forEach(num => {

        ​ console.log(num)

        })

        等于arr.forEach(funtion(num){

        ​ consolg.log(num)

        })

        • forEach方法中的function回调有三个参数:
        • value 第一个参数是遍历的数组内容, 不可以修改内容
        • index 第二个参数是对应的数组索引, 无法控制index值
        • arr第三个参数是数组本身
        • break return continue不支持 得用try catch
        • 遇到return不会报错也不生效 es5才有的 for控制控制起点each不行
  • json

    • 定义:var json ={} 无序性
      • 属性名正常要么是字符串要么是数值
      • json的属性值可以是任意类型
      • {value:111,value1:222}
        • value value1都是json的属性名
        • 111 222是json的属性值
        • 这样的组合简称键值对
      • 遍历
        • for (var key in json) {}
          • 表示将json里头的key逐个遍历
          • key对应属性名(key),json[key]对应属性值(value)
          • json[key]就可以拿到key变量指向的属性名的属性值
            • 因为key是变量,所以只能用json[key]这种写法
  • 伪数组

    • 具备某些特定属性的json,就是伪数组
    • 伪数组就是json,json不一定是伪数组
    • 伪数组:假的数组,所以伪数组要有length属性
    • 定义:var a ={0:‘index1’,1:‘index2’,length:2}
      • 要求键都是number类型√√√
      • 要求要有length属性
      • 要求length属性值跟键值对的个数一样
    • 遍历
      • 可以使用json的操作
        • for (var key in json)
          • json[key]会将0,1两个键值遍历出来,同时将length属性也遍历出来
      • 也可以使用数组的操作
        • for (var i = 0, l = arr.length; i < l;i++) {json[i]}
          • 只会遍历出0,1两个键值
      • 伪数组转成数组
        • var json = {0:‘index1’,1:‘index2’,length:2}
        • var arr = Array.from(json)
          • Array.from是用来将伪数组转成数组的一个api
          • 转换结果:
            • [‘index1’,‘index2’]
          • 转换注意事项:
            • 只根据length来取转换之后的数组的元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值