javascript - js数组键名为何不能用变量?我想像PHP那样使用变量作为关联数组键名该怎么做?
给我你的怀抱
给我你的怀抱 2017-07-05 11:07:29
0
8
1097

用键名就报错说无法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中数组下标的类型就是字符串

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!