[英]Why am I getting some undefined items instead of sorted array?
function bubble(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = arr[temp]; } } } return arr; } console.log(bubble([5, 12, 2, 4, 10]));
我的輸出是
[2, undefined, undefined, 4, 10]
我不知道為什么我得到undefined
而不是排序數組。 我也查看了其他一些代碼,但沒有成功。
你需要采取temp
交換。 見評論。
function bubble(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; // take just temp } } } return arr; } console.log(bubble([5, 12, 2, 4, 10]));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.