javascript - js數組鍵名為何不能用變數?我想像PHP那樣使用變數作為關聯數組鍵名該怎麼做?
给我你的怀抱
给我你的怀抱 2017-07-05 11:07:29
0
8
1123

用鍵名就報錯說無法set property

#
给我你的怀抱
给我你的怀抱

全部回覆(8)
習慣沉默

JS 物件

var o = {
    name: 'foo', 
    hey: 'bar'
}
console.log(o.name); 
// => "foo"
console.log(o['name']); 
// => "foo"

Map 物件

上述普通的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中的陣列不支援用數字以外的標識符做為數組的下標,但是你可以用物件來實現和php中關聯數組相似的效果:

var myArray = {'key1': 'value1'};
console.log(myArray['key1']); // 会输出value1, 其实相当于myArray.key1
漂亮男人

js數組用自訂鍵名,我做開發這麼久沒用過。 根本用不著。 用Object 就行。

曾经蜡笔没有小新

可以的,比如說

var person = {
    "name" : "孤月"
};

var n = "name";

console.log(person[n]);
//设置键名
person[n] = "deep dark fantasy";
学霸

原始數組是不能用數字以外的字元當鍵名的。可以用物件作為數組用來實現同樣的功能。

为情所困

定義時,陣列只能透過數字作為index,例如,而其它類型的index呢,是物件了。這和php不一樣的。

曾经蜡笔没有小新

js沒有關聯數組,只有基本的數組,長得像關聯數組的是對象,這個js有。

phpcn_u1582

js的陣列可以用字串來作下標,類似關聯數組、js中數組下標的型別就是字串

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板