【发布时间】:2013-12-05 17:18:53
【问题描述】:
我有这个(问题缩写)JSON 文件:
[
{
"product":"aardappelen gebakken",
"quantity":"100gr",
"carbohydrates":"19,3"
},
{
"product":"aardappelen pikant",
"quantity":"100gr",
"carbohydrates":"3"
},
{
"product":"aardappelmeel",
"quantity":"100gr",
"carbohydrates":"80"
}
]
我想做的是:
搜索产品,然后搜索其所有内容,例如当我搜索“aardappelmeel”时,我得到产品、数量和碳水化合物键值,我使用以下代码执行此操作:
搜索词暂时是硬编码的,这将是一个 var 以后的。
$(function() {
$.getJSON( "js/data.json").fail(function(jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
console.log( "Request Failed: " + err );
}).done(function(data) {
var carbohydratesResult = getCarbohydrates(data, 'aardappelmeel');
console.log(carbohydratesResult);
});
});
function getCarbohydrates(arr, searchTerm){
var result;
if(searchTerm === '') {
result = 'No searchterm';
}
else {
result = _.where(arr, {product: searchTerm});
}
return result;
}
这得到 1 个结果:
问题:当我搜索“aardappelen”时,我没有得到任何结果,它应该是 2,因为有 2 个产品包含名称“aardappelen”。我该怎么做?
我使用 jQuery,下划线。如果不需要下划线,我很好,请告诉我如何修改我的代码以在“产品”值包含搜索词时获得多个结果。
【问题讨论】:
-
这应该回答你的问题:stackoverflow.com/q/17099029/218196。如果要测试一个字符串是否包含在另一个字符串中,请使用
.indexOf:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…。
标签: javascript jquery json underscore.js