javascript - js數(shù)組鍵名為何不能用變量?我想像PHP那樣使用變量作為關(guān)聯(lián)數(shù)組鍵名該怎么做?
問題描述
用鍵名就報(bào)錯(cuò)說(shuō)無(wú)法set property
問題解答
回答1:var o = { name: ’foo’, hey: ’bar’}console.log(o.name); // => 'foo'console.log(o[’name’]); // => 'foo'
上述普通的js對(duì)象只能用字符串做key,es6有個(gè)新特性,可以讓“值”作為key 看例子:
var m = new Map(); var eczn = { name: ’eczn’, age: 20}m.set(eczn, ’map Obj to Stirng’); console.log(m);
javascript中的數(shù)組不支持用數(shù)字以外的標(biāo)識(shí)符做為數(shù)組的下標(biāo),但是你可以用對(duì)象來(lái)實(shí)現(xiàn)和php中關(guān)聯(lián)數(shù)組相似的效果:
var myArray = {’key1’: ’value1’};console.log(myArray[’key1’]); // 會(huì)輸出value1, 其實(shí)相當(dāng)于myArray.key1回答3:
js數(shù)組用自定義鍵名,我做開發(fā)這么久沒用過。 根本就用不著。 用Object 就行。
回答4:可以的,比如說(shuō)
var person = { 'name' : '孤月'};var n = 'name';console.log(person[n]);//設(shè)置鍵名person[n] = 'deep dark fantasy';回答5:
原始數(shù)組是不能用數(shù)字以外的字符作為鍵名的??梢杂脤?duì)象作為數(shù)組用來(lái)實(shí)現(xiàn)同樣的功能。
回答6:定義時(shí),數(shù)組只能通過數(shù)字作為index,比如,而其它類型的index呢,是對(duì)象了。這和php不一樣的。
回答7:js沒有關(guān)聯(lián)數(shù)組,只有基本的數(shù)組,長(zhǎng)得像關(guān)聯(lián)數(shù)組的是對(duì)象,這個(gè)js有。
回答8:js的數(shù)組可以用字符串來(lái)作下標(biāo),類似關(guān)聯(lián)數(shù)組、js中數(shù)組下標(biāo)的類型就是字符串
相關(guān)文章:
1. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問題2. java - Activity中的成員變量被賦值之后,Activity被回收的時(shí)候內(nèi)存才會(huì)被釋放嗎3. java - web項(xiàng)目中,用戶登陸信息存儲(chǔ)在session中好 還是cookie中好,取決于什么?4. php由5.3升級(jí)到5.6后,登錄網(wǎng)站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?5. 數(shù)組按鍵值封裝!6. 我寫的哪里有錯(cuò)?請(qǐng)大神幫忙查看一下。7. tp5.0,param獲取全部參數(shù)8. 使用list和each配合,的作業(yè),輸出一行后,如何換行9. 老師,flex-shrink: 1; 按視頻操作,不會(huì)自動(dòng)縮放10. 為什么 必須在<ul> 下建立 <li> 在建<a>?
