js常用陣列方法

學前端的小新發表於2018-11-26

1.陣列合並去重

function arrMergeDeduplication(arr1,arr2){
   var concatArray = arr1.concat(arr2); //合併陣列
   var newArray = [];
   for(var i = 0; i < concatArray.length; i++){
       if(newArray.indexOf(concatArray[i]) == -1){
           newArray.push(concatArray[i])
       }  
   }
   return newArray;
}複製程式碼

2.陣列排序

1.使用sort()方法排序
function arraySort(arr){
  var arr = arr;
  var compare = function(x,y){
      if(x>y){
        return -1;
      }else if(x<y){
        return 1;
      }else{
        return 0;
      }
  }
  //compare方法也可以簡寫為function(a,b){ return a-b }
  var newarr = arr.sort(compare);
  return newarr;
} 

2.氣泡排序
function bubbleSort(arr){
  var t;
  for(var i = 0; i < arr.length; i++){
     for(var j = i+1; j < arr.length; j++){
        if(arr[i]>arr[j]){
           t = arr[j];
           arr[j] = arr[i];
           arr[i] = t;
        }
     }
  }
  return arr;
}

複製程式碼

3.陣列篩選

var arr = [1,2,3,4,5];
var condition = function(x){
  if(x>2){
    return x;
  }
}
var newarr = arr.filter(condition);
console.log(newarr) //[3,4,5]複製程式碼

4.陣列與字串的轉換

var arr = [1,2,3,4,5];
//轉字串
var arrString = arr.toString(); //"1,2,3,4,5"
var arrString = arr.join(','); //"1,2,3,4,5"
//轉陣列
var arr = arrString.split(','); //[1,2,3,4,5]

複製程式碼

5.陣列擷取

  var arr = ['a', 'b', 'c'];
  
  arr.slice(0)         // ["a", "b", "c"]
  arr.slice(1)         // ["b", "c"]
  arr.slice(1, 2)     // ["b"]
  arr.slice(2, 6)     // ["c"]
  arr.slice()           // ["a", "b", "c"]    無引數返回原陣列
  
  arr.slice(-2)          // ["b", "c"]    引數是負數,則表示倒數計算的位置
  arr.slice(-2, -1)     // ["b"] 複製程式碼


相關文章