js以對(duì)象為索引的關(guān)聯(lián)數(shù)組
我們常說JavaScript原生支持json,因?yàn)槲覀兛梢哉J(rèn)為json就是對(duì)JavaScript的Object對(duì)象的靈活應(yīng)用。
通常我們使用json的方式,主要用作前后臺(tái)數(shù)據(jù)交換的格式:
而在代碼邏輯中更多的是用關(guān)聯(lián)數(shù)組的方式。但即使是這樣我們也很少使用對(duì)象類型作為鍵值對(duì)的鍵名。
var a= {}, b= [];
a[b] = new Date(); //通過a[b]可以取得時(shí)間值。
鍵名的類型可以是對(duì)象,多么美好的一件事啊!
不過有一個(gè)問題。如果你想這么用,需要有一個(gè)條件:數(shù)據(jù)必須是動(dòng)態(tài)添加的。(目前在同學(xué)這,沒有條件測(cè)試其他的瀏覽器,目前測(cè)試了IE8以及搜狗瀏覽器的IE內(nèi)核和weikit內(nèi)核)
測(cè)試代碼如下:
var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"};
a[d] = "DOMElement";
alert(a[obj]); //undefined
alert(a[d]); //DOMElement
alert(a[document.getElementById("hello")]); //DOMElement
a[obj] = "Array Object";
alert(a[obj]); //Array Object
其實(shí)鍵名都是字符串:
var d = document.getElementById("hello"), obj = [1,2,3], a = {obj:"test"};
alert(a["obj"]); //test
var str = new String("1,2,3");
a[obj] = "Array Object";
alert(a[obj]); //Array Object
alert(a[str]); //Array Object
var Class1 = function(_val){
var val = _val;
this.toString = function(){
return val;
}
}
var obj2 = new Class1("1,2,3");
alert(a[obj2]);//Array Object
- 在JS數(shù)組特定索引處指定位置插入元素的技巧
- JS數(shù)組操作(數(shù)組增加、刪除、翻轉(zhuǎn)、轉(zhuǎn)字符串、取索引、截取(切片)slice、剪接splice、數(shù)組合并)
- javascript檢查某個(gè)元素在數(shù)組中的索引值
- JavaScript通過元素索引號(hào)刪除數(shù)組中對(duì)應(yīng)元素的方法
- 利用js查找數(shù)組中指定元素并返回該元素的所有索引示例
- 在JS數(shù)組特定索引處指定位置插入元素
- 淺談Javascript數(shù)組索引
- JavaScript中的索引數(shù)組、關(guān)聯(lián)數(shù)組和靜態(tài)數(shù)組、動(dòng)態(tài)數(shù)組講解
- JS算法題之查找數(shù)字在數(shù)組中的索引位置
- JS數(shù)組索引檢測(cè)中的數(shù)據(jù)類型問題詳解
相關(guān)文章
JS數(shù)據(jù)結(jié)構(gòu)之隊(duì)列結(jié)構(gòu)詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)與算法中的隊(duì)列結(jié)構(gòu),文中通過簡(jiǎn)單的示例介紹了隊(duì)列結(jié)構(gòu)的原理與實(shí)現(xiàn),需要的可以參考一下2022-11-11提高團(tuán)隊(duì)代碼質(zhì)量利器ESLint及Prettier詳解
這篇文章主要為大家介紹了提高團(tuán)隊(duì)代碼質(zhì)量利器ESLint及Prettier使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11JS前后端實(shí)現(xiàn)身份證號(hào)驗(yàn)證代碼解析
這篇文章主要介紹了JS前后端實(shí)現(xiàn)身份證號(hào)驗(yàn)證代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07JavaScript實(shí)現(xiàn)滑塊驗(yàn)證案例
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)滑塊驗(yàn)證案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01基于JS實(shí)現(xiàn)textarea中獲取動(dòng)態(tài)剩余字?jǐn)?shù)的方法
這篇文章主要介紹了基于JS實(shí)現(xiàn)textarea中獲取動(dòng)態(tài)剩余字?jǐn)?shù)的方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-05-05javascript實(shí)現(xiàn)根據(jù)身份證號(hào)讀取相關(guān)信息
這篇文章主要介紹了javascript實(shí)現(xiàn)根據(jù)身份證號(hào)讀取相關(guān)信息,需要的朋友可以參考下2014-12-12JavaScript遍歷實(shí)現(xiàn)DFS算法和BFS算法
DFS(Depth?first?search)稱作「深度優(yōu)先遍歷」,BFS(Breadth?first?search)稱作「廣度優(yōu)先遍歷」。本文將通過JavaScript遍歷實(shí)現(xiàn)這兩種算法,需要的可以參考一下2023-01-01javascript-表格排序(降序/反序)實(shí)現(xiàn)介紹(附圖)
使用了Array方法、sort:降序、reverse:反序完成了基本功能,對(duì)于聯(lián)合排序沒有實(shí)現(xiàn),感興趣的朋友可以參考下哈2013-05-05