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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM