我正在尝试过滤一些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之后的字段名称。但它不起作用。
感谢您的时间。很抱歉,如果之前已经多次回答并且对你很明显。
答案 0 :(得分:0)
要使用变量值作为对象的键,您应该使用括号表示法,如下所示:
var dropdownResult = "FIELD1";
var as = $(json).filter(function(i, n) {
return n[dropdownResult] === "Yes";
});
我删除了您在代码中留下的无关(
- 我认为这只是一个错字,因为它会产生语法错误并阻止您的代码工作。
另请注意,在字符串'Yes'
/ 'No'