У меня есть вложенный массив, который я хочу, чтобы восстановить на основе возрастного значения:Rebuild вложенного массива
//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);
ли вы рассмотреть вопрос об использовании углам главного [OrderBy] (https://docs.angularjs.org/api/ng/filter/orderBy)? –
Вы имели в виду пользовательский фильтр? Мне нужно перестроить его внутри контроллера не внутри 'ng-repeat' –