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

标签 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 之后的字段名称。但它不起作用。

感谢您的宝贵时间。很抱歉,如果这个问题之前已经被回答过很多次并且对您来说是显而易见的。

最佳答案

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

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

我删除了您留在代码中的无关 ( - 我认为这只是一个拼写错误,因为它会产生语法错误并导致您的代码完全无法工作。

另请注意,在字符串上使用 bool 值是更好的做法 'Yes'/'No'

关于javascript - 使用 var(非条件)的 JSON 查找数据的查询语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39920781/

相关文章:

java - 为什么在 Java 中定义方法时返回类型的顺序很重要?

java - Android SQLite 不喜欢语法

syntax - 在ColdFusion中调用函数时如何仅指定一些可选参数?

javascript - 计算文件输入的总大小

javascript - 在javascript中从任意复杂的JSON对象生成html

javascript - 删除和重用数组索引

javascript - php 中的 POST 和提交按钮问题

javascript - hasClass() 函数未检测到——前面的函数将不会运行

javascript - DataTables 从 JSON 或 JS Array&Objects 填充表格

javascript - jQuery - 通过 "style"属性中的自定义 CSS 键查找元素的最佳方式