使用var(非条件)查询JSON查找数据的语法

时间:2016-10-07 15:23:31

标签: javascript jquery syntax

我正在尝试过滤一些JSON数据,但我希望查找基于选择下拉列表。但是,在尝试执行此操作时,我无法正确获取语法。目前以下工作在我的代码中很好:

var as = $(json).filter(function (i, n) {
    return (n.FIELD1 === "Yes"
});

但是,我想要做的是用下拉列表中的var替换FIELD1值。类似这样的事情,这是行不通的:

var dropdownResult = "FIELD1";
var as = $(json).filter(function(i, n) {
    return (n.dropdownResult === "Yes"
});

我正在尝试让var成为n之后的字段名称。但它不起作用。

感谢您的时间。很抱歉,如果之前已经多次回答并且对你很明显。

1 个答案:

答案 0 :(得分:0)

要使用变量值作为对象的键,您应该使用括号表示法,如下所示:

var dropdownResult = "FIELD1";
var as = $(json).filter(function(i, n) {
    return n[dropdownResult] === "Yes";
});

我删除了您在代码中留下的无关( - 我认为这只是一个错字,因为它会产生语法错误并阻止您的代码工作。

另请注意,在字符串'Yes' / 'No'

上使用布尔值更好的做法