簡體   English   中英

為什么我得到一些未定義的項而不是排序的數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM