我找到了类似问题的一些答案,但我仍然没有得到它。
但我希望这是一个短暂的问题所以我不会太麻烦! ; - )
我有一个js数组
arr = [ a, b, c]
如何动态地为这些元素增加价值?例如,我希望每个元素都获得值true
之后看起来应该是这样的:
arr = [ a = true, b = true, c = true];
我尝试了以下内容:(使用jquery框架)
$.each(arr, function(i){
arr[i] = true;
});
然后我得到了
arr = [ true, true, true]
希望有人能帮助我!
感谢名单
答案 0 :(得分:4)
arr = [ a = true, b = true, c = true];
这是您正在寻找的不同类型的数据结构:不是数组,而是映射。 (PHP使数组和映射具有相同的数据类型,但这是一个不寻常的怪癖。)
JavaScript中没有通用的映射,但只要您使用字符串作为键并且注意避免使用某些内置的JavaScript Object成员名称,就可以使用Object:
var map= {'a': true, 'b': true, 'c': true};
alert(map['a']); // true
alert(map.a); // true
ETA:
如果我有一个数组怎么能让它看起来像[“required”:true,“checklength”:true]?
var array= ['required', 'checklength'];
var mapping= {};
for (var i= array.length; i-->0;) {
var key= array[i];
mapping[key]= true;
}
alert(mapping.required); // true
alert('required' in mapping); // also true
alert('potato' in mapping); // false