Допустим, у вас есть следующий код для фильтрации животных, чтобы только сохранить в массиве тех, кто имеет больший вес, чем предыдущее животное (первый объект никогда не будет сохранен, так как нет предыдущего животного):
const animals = [
{ id: 3, weight: 300, type: 'pig' },
{ id: 1, weight: 200, type: "cow" },
{ id: 7, weight: 400, type: "horse" },
{ id: 6, weight: 100, type: "pig" },
];
const filteredAnimals = animals.filter((animal, index) =>
animals[index - 1] && animal.weight > animals[index - 1].weight);
console.log('filtered animals: ', filteredAnimals);
Это работает, как и ожидалось, но я не могу понять, как применить тот же фильтр, имеющий массив массивов:
const animals = [
[
{ id: 5, weight: 300, type: 'pig' },
{ id: 1, weight: 200, type: "cow" },
{ id: 3, weight: 400, type: "horse" },
{ id: 4, weight: 350, type: "pig" },
],
[
{ id: 2, weight: 250, type: "horse" },
{ id: 6, weight: 350, type: 'pig' },
{ id: 8, weight: 250, type: "cow" },
{ id: 7, weight: 400, type: "pig" },
]
]
В этом случае ожидаемый результат должен быть:
const filteredAnimals = [
[
{ id: 3, weight: 400, type: "horse" },
],
[
{ id: 6, weight: 350, type: "pig" },
{ id: 7, weight: 400, type: "pig" },
]
]
Любые предложения о том, как этого добиться?