Используйте .map
для преобразования в другой двумерный массив, вызывая .filter
на каждом подмассиве, сравнивая с checks
для индекса повторяющегося подмассива:
const Amaths = [
[1, 2, 3, 5, 6, 7, 8],
[4, 5, 6, 8],
[12, 3, 4]
]
const checks = [2.5, 4.01, 5];
const result = Amaths.map(
(subarr, i) => subarr.filter(
num => num >= checks[i]
)
);
console.log(result);
Чтобы исправить исходный код, вам нужно будет выдвигать новый подмассив к picks
на каждой внешней итерации:
const Amaths = [
[1, 2, 3, 5, 6, 7, 8],
[4, 5, 6, 8],
[12, 3, 4]
]
const checks = [2.5, 4.01, 5];
const picks = [];
for (let j = 0; j < Amaths.length; j++) {
picks.push([]);
for (let k = 0; k < Amaths[j].length; k++) {
if (Amaths[j][k] > checks[j]) {
picks[j].push(Amaths[j][k]);
}
}
}
console.log("picks", picks)
(но методы массива, вероятно, здесь намного лучше, они намного более кратки и просты для понимания)