在JavaScript中我有以下代码:
var rights = {
'One': [ 1, 1, 0],
'Two': [ 1, 0, 0],
'Three': [ 0, 1, 1 ]
};
打印:
for (item in rights) Response.Write(item + ' = ' + rights[item] + '<br />');
此外,我可以通过以下方式访问对象中的任何元素:
rights['One'] or rights[0]
但是如何迭代这个对象使索引小写,以便它变为如下:
var rights = {
'one': [ 1, 1, 0],
'two': [ 1, 0, 0],
'three': [ 0, 1, 1 ]
};
答案 0 :(得分:4)
您无法直接更改密钥。您可以获取密钥及其值,使用小写键值设置新密钥,然后删除原始密钥。
var rights = {
'One': [ 1, 1, 0],
'Two': [ 1, 0, 0],
'Three': [ 0, 1, 1 ]
};
for (var key in rights) {
var keyLower = key.toLowerCase();
// if key is not already lower case
if (keyLower !== key) {
var temp = rights[key];
delete rights[key];
rights[keyLower] = temp;
}
}
// all keys in the rights object will now be lowercase
答案 1 :(得分:0)
for (var key in rights) {
key = key.toLowerCase();
}
这里是小提琴:http://jsfiddle.net/btevfik/JBAXr/
确定这实际上并没有更新密钥。只需给你小写的密钥。
答案 2 :(得分:0)
var fieldNames = [];
for (item in rights) { fieldNames.push(item); }
for(i = 0; i < fieldNames.length; i++) {
var fieldName = fieldNames[i];
var value = rights[fieldName];
delete rights[fieldName];
rights[fieldName.toLowerCase()] = value;
}