从JSONArray中选择所有JSONObjects包含
问题描述:
我有一个JSONArray
包含JSONObjects
像这样{firstname:'John', lastname:'Doe'}
。从JSONArray中选择所有JSONObjects包含
有没有办法直接选择所有JSONObjects
或firstname == 'John'
或唯一的方法是循环数组,测试字段firstname并保存所有匹配的对象在另一个数组?
由于
答
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制品中的填充工具,
答
可以筛选出来:
var people = JSONArray.filter(function(obj) {
return obj.firstname == "John";
});
FYI:您有一个阵列含有对象。
请注意,您的问题与JSON无关。 JSON只是文本。 – 2014-10-09 14:11:15