Ich kann anhand der Anweisung console.log() sehen, dass meine Funktion die richtigen Ergebnisse liefert. Allerdings gibt die Funktion weiterhin undefiniert zurück, selbst wenn ich alle möglichen Bedingungen abgedeckt habe.
Ich habe versucht, ein minimal reproduzierbares Beispiel neu zu erstellen.
Meine Frage: Warum ist die Return-Anweisung nicht wie Python aus der Funktion herausgebrochen?
Code: Select all
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))
Mobile version