Функция Javascript не имеет возвращаемого значения, если для каждого случая указан оператор возврата.Javascript

Форум по Javascript
Anonymous
Функция Javascript не имеет возвращаемого значения, если для каждого случая указан оператор возврата.

Сообщение Anonymous »

Я столкнулся с проблемой в JavaScript: элемент необходимо вставить в упорядоченный массив так, чтобы массив оставался в правильном порядке. например InsertInOrder(19, [1, 2, 10, 20]) должен возвращать [1, 2, 10, 19, 20]
Я вижу, что моя функция выдает правильные результаты из оператора 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

Вернуться в «Javascript»