kal*_*lin 2 javascript api json filter
我正在创建一个采用这样的 JSON 的 API:
"hightlights":[
{
"title":"Fun",
"url":"fun/index.html",
"queries":
[
"music",
"artists",
"events",
"internet"
]
},
{
"title":"Internet",
"url":"internet/index.html",
"queries":
[
"javascript",
"web",
"internet",
]
}
]
Run Code Online (Sandbox Code Playgroud)
我需要使用用户给出的单词过滤 JSON,并返回另一个 JSON,其中只有包含“查询”中的单词的对象。
If word === 'music', receive:
{
"title":"Fun",
"url":"fun/index.html",
"queries":[
"music",
"artists",
"events",
"internet"
]
}
If word === 'internet', receive:
{
{
"title":"Fun",
"url":"fun/index.html",
"queries":[
"music",
"artists",
"events",
"internet"
]
},
{
"title":"Internet",
"url":"internet/index.html",
"queries":[
"javascript",
"web",
"internet",
]
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何嵌套这个值?如果有人能给我一些例子......我会很感激......
试试下面的:
function getResult(filterBy, objList) {
return objList.hightlights.filter(function(obj) {
return obj.queries.some(function(item){
return item.indexOf(filterBy) >= 0;
});
});
}
Run Code Online (Sandbox Code Playgroud)
输入#1:
getResult("internet", yourObject);
Run Code Online (Sandbox Code Playgroud)
输出#1:
[{"title":"Fun","url":"fun/index.html","queries":["music","artists","events","internet"]},{"title":"Internet","url":"internet/index.html","queries":["javascript","web","internet"]}]
Run Code Online (Sandbox Code Playgroud)
输入#2:
getResult("music", yourObject);
Run Code Online (Sandbox Code Playgroud)
输出#2:
[{"title":"Fun","url":"fun/index.html","queries":["music","artists","events","internet"]}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5790 次 |
| 最近记录: |