我有,我想根據年齡值重建一個嵌套的數組:重建嵌套數組
//Data
data = {"people":
[{"male_1": [
{"name": "Bob" ,"age": "32"},
{"name":"Mike", "age":"31"}
]},
{"female_2": [
{"name":"Jessica", "age": "24"},
{"name":"Ann", "age": "23"}
]}
[{"male_3": [
{"name": "Tom" ,"age": "31"},
{"name":"John", "age":"29"}
]}, ...
]}
新數組應該是這樣的:
people = [{"male_1": [
{"name": "Bob" ,"age": "32"}
]},
[{"male_3": [
{"name": "Tom" ,"age": "31"}
]},
{"female_2": [
{"name":"Jessica", "age": "24"}
]}, ...
]}
基於這個例子,我需要找到所有「人」的最大年齡,然後將此人添加到數組,然後與下一個相同。在這種情況下,年齡可以相同,誰先排名沒有區別。
隨着下一個功能,我可以找到第一個,並推到新陣列,但如何找到下一個?
var age = 0;
data["people"].forEach(function(item) {
for (var key in item) {
if (item.hasOwnProperty(key)) {
item[key].forEach(function(person) {
if (person.age > age) {
age = person.age;
oldest_person = person
}
});
}
}
});
console.log(oldest_person);
你有沒有考慮使用Angulars [排序依據](https://docs.angularjs.org/api/ng/filter/orderBy)? –
你的意思是自定義過濾器?我需要在控制器內重建它,而不是在'ng-repeat'中 –