數組冒泡排序:
var arr = [3,2,4,1];//3次
//[3,2,1,4];第一次循環的結果
//var n = null;
// 從小到大排序:
// 第一步:數字交換;
if(arr[0]>arr[1]){//0,1
n = arr[0];
arr[0] = arr[1];
arr[1] = n;
}//[2,3,4,1]
// 第二步:冒泡——将最大的數字冒泡到最後;
for (var i = 0; i < arr.length-1; i++) {
if(arr[i]>arr[i+1]){
n = arr[i];
arr[i] = arr[i+1];
arr[1+i] = n;
}
}
// 第三步:循環,對比每一個數字,讓他們實作從小到大排列;
for (var j = 0; j < arr.length-1; j++) {
for (var i = 0; i < arr.length-1; i++) {
if(arr[i]>arr[i+1]){
n = arr[i];
arr[i] = arr[i+1];
arr[1+i] = n;
}
}
// 第四步:優化(已經冒到最後的最大數不用對比);
for (var i = 0; i < arr.length-1-j; i++) {
if(arr[i]>arr[i+1]){
console.log(arr);
數組去重:
var arr1 = [2,4,1,2,3,4,5,3,4,5];
var arr2 = [];
var n ;
//去重第1步,向空數組添加第一個數值;
n=-1;
if (n==-1) {
arr2.push(arr1[0]);
}
//去重第2步,判斷原數組中的下一個值是否與新數組的值有相等情況,沒有則插入新數組;
for (var j = 0; j < arr2.length; j++){
if(arr1[1]==arr2[j]){
n=j;//如果有相等的,就改變n的值,讓它不為-1;
break;//此時跳出循環不用再往下對比了;
}
arr2.push(arr1[1]);
//去重第3步,使用循環,判斷原數組中的所有值是否與新數組的值有相等情況,沒有則插入新數組;
for (var i = 0; i < arr1.length; i++) {
n = -1;//arr1數組在取得一個值對比的時候,需要初始化n為-1,否則n會繼續上一次産生的值,有可能在符合條件的時候依然不是-1;
for (var j = 0; j < arr2.length; j++) {
if(arr1[i]==arr2[j]){
n=j;
break;
if (n==-1) {
arr2.push(arr1[i]);