小白想嘗試一下使用JS實現一下基本的排序算法在嘗試過程中覺得一下子出結果不便于理解過程所以就尋思著用一個數組來記錄每次移動的結果然后就發現最終打印的用來記錄的數組各項相等百思不得其解<script>//使用data數組記錄每次交換//BUG:打印出的data數組的項一致,都是排序后的結果數組'use strict';const arr = [1,23,4,54,655,65,7,67,6,9,3,2,3,23,232,3];let data = [];function BubbleSort(arr) { for (let i = 0; i <= arr.length - 1; i++) { for (let j = 0; j <= arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1); data.push(arr); } } } }function swap(arr, i, j) { let temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;}BubbleSort(arr);console.log(data);</script>
js數組push()錯誤
拉莫斯之舞
2018-12-19 22:19:29