Функция 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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