喜欢这个对象,
var myColumnDefs = [
{key:"label", sortable:true, resizeable:true},
{key:"notes", sortable:true,resizeable:true},......
我可以将对象称为此方法,它可以正常工作
...
myColumnDefs.key
...
但如何使用Stringname调用此对象
function myObject (string) {
return myColumnDefs.Stringname
}
alert(myObject('key'));
alert(myObject('sortable'));
感谢帮助
答案 0 :(得分:2)
您必须使用myColumnDefs[Stringname]
Here is the working fiddle并且在您的情况下,您必须通过myColumnDefs[element_index][Stringname]
答案 1 :(得分:1)
首先,我认为这不会起作用:
myColumnDefs.key;
您必须引用数组中的一个元素:
myColumnsDefs[0].key;
考虑到这一点,你可以通过它的字符串名称来引用属性:
myColumnsDefs[0]['key'];
答案 2 :(得分:0)
有两种方法可以做到这一点。一种方法是将数组更改为具有键名称为属性的属性的对象。另一种方法是搜索整个数组并找到具有正确名称的密钥。我会建议第一种方式,所以代码看起来像这样:
var keyHolder = {};
for(var i = 0; i < myColumnDefs.length; i ++) {
if(!keyHolder.hasOwnProperty(myColumnDefs[i].key)) {
keyHolder[myColumnDefs[i].key = {
sortable: myColumnDefs[i].sortable,
resizeable: myColumnDefs[i].resizeable
}
}
}
然后你可以这样做:
keyHolder.label
希望这有帮助。