Я решил алгоритм, использующий цикл for, но я пытался использовать цикл for, чтобы его было легче читать, но я не получаю тот же вывод, когда использую традиционный цикл for?
const sortByHeight = (a)=>{
const array2 = a.filter(num => {
if (num !== -1){
return num
}
}).sort((a,b) => a-b)
let indexVal = 0;
for ( let num of a){
if(num !== -1 ){
num = array2[indexVal]
indexVal++
}
}
return a;
//for loop does work
// for ( let i=0; i < a.length; i++){
// if(a[i] !== -1 ){
// a[i] = array2[indexVal]
// indexVal++
// }
// }
// return a;
console.log(sortByHeight([-1, 150, 190, 170, -1, -1, 160, 180]));
}