首頁 > 軟體

javascript中關於去重操作的使用

2022-04-13 04:00:06

前言:

前端開發裡面,在JS中關於資料去重操作的使用是非常常用,也是非常重要的點,一般情況下關於對陣列去重點操作是最常用的,其次是具體的關於某一資料型別的去重操作,如字串去重、數位去重等。那麼本篇博文就來分享一下去重操作的使用,方便後期查閱使用。

核心的基本演演算法

     遍歷拿到的資料陣列,然後把該陣列中的元素存放到新的陣列中,在存放到新陣列之前要檢查陣列的元素是否已經存在,如果存在(相同元素,即重複元素)就不再放入新的陣列中。

資料去重的基本用法

在JS中關於去重操作的使用一般是關於陣列去重、字串去重、數位去重,具體的使用範例如下所示。

1、陣列去重

陣列去重有三種方法:

  • 方法一:indexOf迴圈去重;
  • 方法二:ES6的Set去重;Array.from(new Set(arr));
  • 方法三:Object 鍵值對去重;把陣列的值存成 Object 的 key 值,比如 Object[valuea] = true, 在判斷另一個值的時候,如果 Object[valueb]存在的話,就說明該值是重複的。

這裡只拿indexOf 迴圈去重來做範例,

   範例陣列:

var array = [1, 2, 3, 4, 5, 5, 4, 3, 2,1];

   處理方法:

function repeat(array){
var array1 = []; // 新建陣列用來存array的值
for(var i=0,leng=array.length;i<leng;i++){
if(array1.indexOf(array[i]) === -1){
array1.push(array[i]);
}
}
return array1;
}
console.log(unique(array)); // 陣列輸出結果: [ 1, 2, 3, 4, 5]

注意:indexOf是ES5新增加的函數,用來獲取陣列中元素的位置(下標),相容性IE8+。

2、字串去重

範例字串:       

var str = "12345678987654321」;

處理方法:

function repeat(str){
var str1 = ""; //用來接收去重後的字串
for(var i in str){
if(str1.indexOf(str.charAt(i)) == -1){
str1+=str.charAt(i);
}
}
return str1; // 返回去重後的字串
}
// 輸出結果repeat("123456789");

// 字串轉換成陣列
function repeat1(str){
var array = str.slice("");
var str1 = uniqueArray(array);
return str1.join("");
}
console.log(repeat1(str)); //輸出結果repeat1("123456789");

3、數位去重

接著上面字串去重的思路就比較簡單許多,首先把數位轉換成字串,然後再做處理。12345678987654321去重之後結果為123456789。

範例字串:

var str = "12345678987654321」;

處理方法:

function repeat(num){
var str = num + "";
var num1 = repeat(str);
return parseInt(num1);
}
console.log(repeat(num)); // 輸出結果repeat(123456789);

最後

     通過上面介紹的JS中關於去重操作的使用匯總,常用的去重演演算法通過本文內容就可涵蓋,在Vue.js開發中的使用就遊刃有餘了,這也是在開發過程中必用的功能,尤其是對於初中級開發者來說,更應該掌握這些情況的使用,這裡不再贅述。

到此這篇關於javascript中關於去重操作的使用的文章就介紹到這了,更多相關JS去重操作內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com