【发布时间】:2018-09-18 18:54:50
【问题描述】:
我只是在考虑如何简化下面的过滤器代码。它从包含三个特定 JSON 字符串键之一中的搜索值的 JSON 数组中过滤掉所有 JSON 字符串。我的 Visual Studio 正在对我微笑,如果我在拿我的代码复杂性开玩笑:D 所以我只是好奇是否有任何不同的方式来修改我的代码 sn-p 以使其更有效。
return _.filter(obj, item => {
return _.every(filterParams, keyword => {
return _.some(item, value => {
return _.isString(value) && (
item.names1.toLowerCase().includes(keyword.toLowerCase()) ||
item.names2.toLowerCase().includes(keyword.toLowerCase()) ||
item.names3.toLowerCase().includes(keyword.toLowerCase()))
})
});
});
这是一个数据示例:
export const data = [{
"HELP": "ageGroup1",
"Name": "ga1",
"EN": "ageGroup1",
"CZ": "N",
"names1": "AgeGroup",
"names2": "Element",
"names3": "N"
}, {
"HELP": "Level2",
"Name": "L2",
"EN": "aggregationGroup",
"CZ": "N",
"names1": "AggregationLevel",
"names2": "ElementLevel",
"names3": "N"
}]
【问题讨论】:
-
这个问题似乎很适合Code Review :)
标签: javascript node.js angular