Javascript 处理对象

Javascript 处理对象,javascript,jquery,list,object,Javascript,Jquery,List,Object,我正在使用插件和 jQuery下拉插件提供了一个隐藏事件: $('.dropdown').on('hide', function(event, dropdownData) { }); 在这个函数中,我使用ListJS插件中的filter选项(因此,当关闭下拉列表时,会过滤列表): 此代码正常工作 问题是: 我想使用一个可变对象值(“Produkt”在本例中是一个对象值): 如何将“Produkt”更改为变量 仅使用item.values().MyVar时,它不起作用 试试这个 eval ("$

我正在使用插件和

jQuery下拉插件提供了一个隐藏事件:

$('.dropdown').on('hide', function(event, dropdownData) {
});
在这个函数中,我使用ListJS插件中的filter选项(因此,当关闭下拉列表时,会过滤列表):

此代码正常工作

问题是:

我想使用一个可变对象值(“Produkt”在本例中是一个对象值):

如何将“Produkt”更改为变量

仅使用
item.values().MyVar
时,它不起作用

试试这个

eval ("$('.dropdown').on('hide', function(event, dropdownData) {"
    + "hackerList.filter(function(item) {"
       +" if (item.values()." +Produkt+ " == 'Cola') {"
       +"return true;"
       +"} else {"
     +"return false;"
  +"}  }); });");
要访问变量,请使用:

因此,在您的情况下,请执行以下操作:

var myVar = "Product";
$('.dropdown').on('hide', function(event, dropdownData) {
    hackerList.filter(function(item) {
        if (item.values()[myVar] == "Cola") {
             return true;
        } else {
            return false;
        }
    });
});

使用if(item.values()[variableName]=“Cola”)代替Thank@Gabe!这是我搜索到的答案。尝试使用item.values()[MyVar]应该可以正常工作。
eval ("$('.dropdown').on('hide', function(event, dropdownData) {"
    + "hackerList.filter(function(item) {"
       +" if (item.values()." +Produkt+ " == 'Cola') {"
       +"return true;"
       +"} else {"
     +"return false;"
  +"}  }); });");
var myVar = "test";
console.log(yourObject[myVar]); //equivalent to yourObject.test
var myVar = "Product";
$('.dropdown').on('hide', function(event, dropdownData) {
    hackerList.filter(function(item) {
        if (item.values()[myVar] == "Cola") {
             return true;
        } else {
            return false;
        }
    });
});