【发布时间】:2014-10-17 15:54:25
【问题描述】:
我正在运行一个 express.js 应用程序,该应用程序具有一些向下拉框提供数据的 api。返回的数据格式为:
[
{
key: 'blah',
value: 'Blah Blah'
},
{
key: 'foo',
value: 'Foos'
},
{
key: 'bar',
value: 'Bars'
},
{
key: 'baz',
value: 'Bazingo'
}
];
其中 key 是我的选项键,value 是显示文本。这个数组的结构是固定的,我知道我将始终将键和值作为数组中每个对象的字段。
当我尝试验证提交的表单(额外的服务器端验证)时,我想交叉引用为字段提供的值与数组中“key”的所有值(blah、foo、bar、巴兹)。鉴于这将是一个经常使用的路线,我想避免每次都遍历数组以找到允许的值。有没有更简单的方法来做到这一点?换句话说,我知道我可以使用:
permittedValues = [];
for (i = 0; i < array.length; i++){
permittedValues[i] = array[i]["key"];
}
但如果可能的话,我想避免这个 for 循环。
P.S:这似乎是一个基本问题,我在网上找到的答案并没有完全回答我的问题。所以,如果这个问题已经被问到并得到了回答,我们深表歉意。
【问题讨论】:
-
没有循环是不可能的。
-
你可以使用underscore pluck,但无论如何在内部它会使用一些循环。
标签: javascript json node.js express