javascript - js數(shù)組鍵名為何不能用變量?我想像PHP那樣使用變量作為關(guān)聯(lián)數(shù)組鍵名該怎么做?
問題描述
用鍵名就報錯說無法set property
問題解答
回答1:var o = { name: ’foo’, hey: ’bar’}console.log(o.name); // => 'foo'console.log(o[’name’]); // => 'foo'
上述普通的js對象只能用字符串做key,es6有個新特性,可以讓“值”作為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ù)組的下標(biāo),但是你可以用對象來實(shí)現(xiàn)和php中關(guān)聯(lián)數(shù)組相似的效果:
var myArray = {’key1’: ’value1’};console.log(myArray[’key1’]); // 會輸出value1, 其實(shí)相當(dāng)于myArray.key1回答3:
js數(shù)組用自定義鍵名,我做開發(fā)這么久沒用過。 根本就用不著。 用Object 就行。
回答4:可以的,比如說
var person = { 'name' : '孤月'};var n = 'name';console.log(person[n]);//設(shè)置鍵名person[n] = 'deep dark fantasy';回答5:
原始數(shù)組是不能用數(shù)字以外的字符作為鍵名的。可以用對象作為數(shù)組用來實(shí)現(xiàn)同樣的功能。
回答6:定義時,數(shù)組只能通過數(shù)字作為index,比如,而其它類型的index呢,是對象了。這和php不一樣的。
回答7:js沒有關(guān)聯(lián)數(shù)組,只有基本的數(shù)組,長得像關(guān)聯(lián)數(shù)組的是對象,這個js有。
回答8:js的數(shù)組可以用字符串來作下標(biāo),類似關(guān)聯(lián)數(shù)組、js中數(shù)組下標(biāo)的類型就是字符串
相關(guān)文章:
1. 獲取上次登錄ip的原理是啥?2. 為什么點(diǎn)擊登陸沒反應(yīng)3. mysql報錯 unknown column ’a.plat’ in ON clause4. fetch_field_direct()報錯5. phpstudy v8打開數(shù)據(jù)庫就出錯,而phpstudy 2018不會6. 在視圖里面寫php原生標(biāo)簽不是要迫不得已的情況才寫嗎7. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時間會消失是什么情況?8. 為什么說非對象調(diào)用成員函數(shù)fetch()9. 沒有輸出結(jié)果,也沒有報錯信息10. 請問下tp6框架的緩存在哪里設(shè)置,或者說關(guān)閉?
