zoukankan      html  css  js  c++  java
  • js中的数组和关联数组

    1 var privArr = [];
    2     privArr['staProjQueryGrid'] = [{
    3         btn_id : 'but_add',
    4         roles : ['2001','2005']
    5     }]
    6     
    7     console.log(privArr,privArr.staProjQueryGrid[0].btn_id)

    第一行是定义一个数组priArr,第二行是给这个数组添加一个属性staProjQueryGird,这个属性值是一个数组。打印结果是  but_add

    1 var unPrivArr = [];//创建一个空数组并赋给unPrivArr
    2 unPrivArr['1000']=[];//往空数组unPrivArr内插入一个空数组,等价于 unPrivArr[1000]=[]
    3 unPrivArr['1000']['aaa']={'but_check1':1,'but_check2':1};
    4 //给上面插入的那个空数组添加一个名为aaa的属性(因为js里一切皆对 象,所以数组也是对象,可以添加属性和方法),属性值是一个新对象(即{'but_check1':1,'but_check2':1})。

    这个和上面有很大区别。首先第二行如果[]里面是数字的话,那么就代表数组unPriArr第1001个元素也为一个空数组(暂时称为x),前1000个元素都是undifined,

    如果是变量的话就是数组unPriArr的元素

    第三行就是给x添加一个属性aaa,属性值是一个关联数组{'but_check1':1,'but_check2':1}

    可以用x['but_check1']来获取对应的值

    我又想 关联数组是不是给对象添加属性呢?

    1  var unPrivArr = [];//创建一个空数组并赋给unPrivArr
    2  unPrivArr['1000']=[];//往空数组unPrivArr内插入一个空数组,等价于 unPrivArr[1000]=[]
    3 unPrivArr['1000']['aaa']={'but_check1':1,'but_check2':1};
    4 console.log(unPrivArr[1000].aaa['but_check1'])

    这个能正确输出结果1,或者用 unPrivArr[1000].aaa.but_check1也能输出结果,但是如果加引号就是错误的

    如果第三行给{}里面的引号去掉,第四号就会报错,此时只能用 unPrivArr[1000].aaa.but_check1

  • 相关阅读:
    设计模式-外观模式
    发生死锁怎么办
    设计模式-工厂模式
    设计模式-模板方法
    设计模式-命令模式(Command)
    设计模式-单例模式
    设计模式-装饰器模式
    CQRS之旅——旅程8(后记:经验教训)
    CQRS之旅——旅程7(增加弹性和优化性能)
    CQRS之旅——旅程6(我们系统的版本管理)
  • 原文地址:https://www.cnblogs.com/javahuang/p/3367411.html
Copyright © 2011-2022 走看看