2014-10-09 64 views
1

我有一个JSONArray包含JSONObjects像这样{firstname:'John', lastname:'Doe'}从JSONArray中选择所有JSONObjects包含

有没有办法直接选择所有JSONObjectsfirstname == 'John'或唯一的方法是循环数组,测试字段firstname并保存所有匹配的对象在另一个数组?

由于

+2

请注意,您的问题与JSON无关。 JSON只是文本。 – 2014-10-09 14:11:15

回答

2

filter method应该诀窍。

var jsonArrayString = '[{"firstname": "John","otherProp": "otherValue"},{"firstname": "other Name", "otherProp": "otherValue"}]'; 
 

 
var jsonArray = JSON.parse(jsonArrayString); 
 

 
var filteredArray = jsonArray.filter(function(element) { 
 
    return element.firstname === "John"; 
 
}); 
 

 
console.log(filteredArray);

忠告:在<不支持该过滤方法= IE 8.但存在MDN制品中的填充工具,

2

可以筛选出来:

var people = JSONArray.filter(function(obj) { 
    return obj.firstname == "John"; 
}); 

FYI:您有一个阵列含有对象

相关问题