假设我有一个json对象数组,如下所示:
var codes = [{
"code_id": "1",
"code_name": "code 1", ,
}, {
"code_id": "2",
"code_name": "code889",
},
// ... () ...
]
如何根据动态输入参数过滤代码数组?
所以我正在寻找一个通用函数,它将输入数组和键和值作为i / p。
var filteredCodes = getFilteredCodes(codes, "code_id", 2);
感谢。
答案 0 :(得分:4)
使用Array.prototype.filter
过滤掉结果 - 请参阅下面的演示:
var codes = [{"code_id": "1","code_name": "code 1"}, {"code_id": "2","code_name": "code889"}];
function getFilteredCodes(array, key, value) {
return array.filter(function(e) {
return e[key] == value;
});
}
var filteredCodes = getFilteredCodes(codes, "code_id", 2);
console.log(filteredCodes);

答案 1 :(得分:2)
您可以将Array#filter
与键和值一起使用。
public class ContentModel {
public int ContentID { get; set; }
public string Link { get; set; }
public string Title { get; set; }
public string ContentHtml { get; set; }
public DateTime LastModifiedDate { get; set; }
}

答案 2 :(得分:2)
function getFilteredCodes(poolArray,key,val){
return poolArray.filter(function(item,ind){
return item[key]==val;
});
}
答案 3 :(得分:2)
或者带箭头符号的唯一行中的函数
var codes = [{ "code_id": "1", "code_name": "code 1", }, { "code_id": "2", "code_name": "code889" }];
var getFilteredCodes = (array, key, value) => array.filter(x => x[key] === value);
var FilteredCodes = getFilteredCodes(codes, "code_id", "2");
console.log(FilteredCodes);