使用jquery grep过滤具有值数组的json对象
Filtering a json object with array of values using jquery grep
我需要使用jQuery grep过滤JSON结果。我的JSON结果如下:
var data = { "items":[
{
"Name": "Name 1",
"City": "city1"
},
{
"Name": "Name 2",
"City": "city2"
},
{
"Name": "Name 3",
"City": "cat1"
}
]}
使用名称数组过滤此JSON示例:
var Name= ["Name 1","Name 2"];
使用jQuery.grep()
过滤项目数组
var data = {
"items": [{
"Name": "Name 1",
"City": "city1"
}, {
"Name": "Name 2",
"City": "city2"
}, {
"Name": "Name 3",
"City": "cat1"
}]
}
var name = ["Name 1", "Name 2"];
var res = $.grep(data.items, function(v) {
return name.indexOf(v.Name) > -1;
});
document.write('<pre>' + JSON.stringify(res, 0, 3) + '</pre>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
或者使用filter()
var data = {
"items": [{
"Name": "Name 1",
"City": "city1"
}, {
"Name": "Name 2",
"City": "city2"
}, {
"Name": "Name 3",
"City": "cat1"
}]
}
var name = ["Name 1", "Name 2"];
var res = data.items.filter(function(v) {
return name.indexOf(v.Name) > -1;
});
document.write('<pre>' + JSON.stringify(res, 0, 3) + '</pre>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
如果您需要使用$.grep从现有对象数组中获取字符串数组,请首先使用$.grp过滤对象,然后使用$.map从结果对象中获取特定输出,如下代码将对您有所帮助。
使用$.grep过滤对象
var data = {
"items": [
{
"Name": "Name 1",
"City": "city1"
},
{
"Name": "Name 2",
"City": "city2"
},
{
"Name": "Name 3",
"City": "cat1"
}
]
};
var objret = $.grep(data.items, function (n, i) {
return n.Name == 'Name 1' || n.Name == 'Name 2';
});
现在您在objret变量中有了result对象,现在使用$.map将对象结果转换为字符串数组输出,如:-
获取输出
var array = $.map(objret, function (value, index) {
return [value.Name];
});
所以在数组中有你需要的输出。
我认为这也是这里暴露的问题:[question]使用jquery grep 过滤json数组
然而json数组就像字符串,或者你从中得到一个数组,或者你只能像字符串一样访问它。使用jquery grep重新创建数组,然后通过索引访问它以比较值
相关文章:
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)
- 使用 Javascript 将行添加到数组 json
- PHP数组JSON编码和该对象在ExtJs中解码
- 数组json转换为数组json
- 将Blob文本转换为Javascript中的数组/JSON对象
- 如何合并这些数组/json 对象
- 尝试从数组 JSON 键中删除引号
- JavaScript 中的数组 JSON
- 在数组 JSON 格式的 JavaScript 变量末尾添加新地址
- 如何访问这个Javascript数组(JSON对象?)
- rails传递记录数组(JSON)
- 按值提取对象/数组json vs数组
- 获取具有子数组json值的数组的值
- Object对象数组Json.字符串数组的字符串化
- 如何在Ext js 4.1中过滤数组json
- PHP -多维数组Json
- 正在分析数组Json以选择Tag
- 试图将字符串数据转换为数值数据,将数据放入数组的数组(Json)
- 从数组json、javascript中的specf值中删除引号
- 使用JavaScript或jQuery读取数组JSON