Я вижу, что моя функция выдает правильные результаты из оператора console.log(). Однако функция продолжает возвращать неопределенное, даже когда я рассмотрел все возможные условия.
Я пытался воссоздать минимальный воспроизводимый пример.
Мой вопрос: почему оператор return не вырвался из функции, как Python?
Код: Выделить всё
function insertInOrder(item, arr) {
// the argument array is guarenteeded to be sorted
if (item = arr[arr.length-1]){
arr.push(item)
return arr
} else {
arr.forEach((element, index)=>{
if (item < element) {
// console.log(arr.splice(0, index).concat([item]).concat(arr))
return arr.splice(0, index).concat([item]).concat(arr)
}
})
}
}
let arr = [1, 4, 7, 9, 13]
console.log(insertInOrder(10, arr))
Подробнее здесь: https://stackoverflow.com/questions/798 ... d-for-ever
Мобильная версия