var privArr = []; privArr['staProjQueryGrid'] = [{ btn_id : 'but_add', roles : ['2001','2005'] }] console.log(privArr,privArr.staProjQueryGrid[0].btn_id)
第一行是定義一個數組priArr,第二行是給這個數組添加一個屬性staProjQueryGird,這個屬性值是一個數組。打印結果是 but_add
var unPrivArr = [];//創建一個空數組並賦給unPrivArr unPrivArr['1000']=[];//往空數組unPrivArr內插入一個空數組,等價於 unPrivArr[1000]=[] unPrivArr['1000']['aaa']={'but_check1':1,'but_check2':1}; //給上面插入的那個空數組添加一個名為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']來獲取對應的值
我又想 關聯數組是不是給對象添加屬性呢?
var unPrivArr = [];//創建一個空數組並賦給unPrivArr unPrivArr['1000']=[];//往空數組unPrivArr內插入一個空數組,等價於 unPrivArr[1000]=[] unPrivArr['1000']['aaa']={'but_check1':1,'but_check2':1}; console.log(unPrivArr[1000].aaa['but_check1'])
這個能正確輸出結果1,或者用 unPrivArr[1000].aaa.but_check1也能輸出結果,但是如果加引號就是錯誤的
如果第三行給{}裡面的引號去掉,第四號就會報錯,此時只能用 unPrivArr[1000].aaa.but_check1
以上這篇js中的關聯數組與普通數組詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。