1. 程式人生 > >原生js實現陣列去重

原生js實現陣列去重

程式碼

忽略元素type

function deleteMulti(arr) {
    let obj = {},
        res = [],
        current;
    for (let i = 0; i < arr.length; i++) {
        current = arr[i];
        if (!obj[current]) {
            obj[current] = current;
            res.push(current);
        }
    }
    return res;
}

如果type不同則不刪除

function deleteMulti(arr) {
    let obj = {},
        res = [],
        type,
        current;
    for (let i = 0; i < arr.length; i++) {
        current = arr[i];
        type = typeof current;
        if (!obj[type]) {
            obj[current] = current;
            res.push(current);
        }
    }
    return
res; }

相關推薦

原生js實現陣列

程式碼 忽略元素type function deleteMulti(arr) { let obj = {}, res = [], current; for (let i = 0; i < arr.leng

JS實現陣列方法總結(三種常用方法)

方法一: 雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進陣列 Array.prototype.distinct = function(){  var arr = this,result = [], i,j,len = arr.length;  f

JS實現陣列總結

在真實的專案中碰到的陣列去重,一般都是後臺去處理,很少讓前端處理陣列去重。雖然日常專案用到的概率比較低,但還是需要了解一下 一、[...new Set(arr)]       [...new Set(arr)] //利用Set資料結構不存在重複值的特性,轉化為Set類陣列去重

js實現陣列

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>陣列去重</tit

js實現陣列-ES6實現

方法一: function unique(arr) { const res = new Map(); return arr.filter((a) => !res.has(a) && res.set(a, 1)) } 就這麼

五種js實現陣列的方法

第一種 刪除後面重複元素 function removeRepeat1(arr){ var a1=((new Date).getTime()) for(

js實現陣列的幾種方法

1、簡單結構的陣列,例如[1,2,3,3,4],使用es6提供的Set和Array.from Set:是一種新的資料結構,可以接收一個數組或者是類陣列物件,自動去重其中的重複專案。 類陣列物件:只包含使用從零開始,且自然遞增的整數做鍵名,並且定義了length表示元素個數的物件。例如{0:123,1:43

JS實現陣列的方法

1.使用ES6的Set進行去重 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>陣列去重</title>

js利用indexof方法實現陣列

var arr = [1, 2, 1, 4, 3, 4, 2, 6, 8]; var newArr=[]; for(var i = 0; i < arr.length; i++) { if(newArr.indexOf(arr[i

JS使用filter實現陣列

這是在runoob裡面進行的線上測試 var words = ['spray', 'limit', 'spray', 'exuberant', 'destruction', 'present']; va

JavaScript 實現陣列

JavaScript 實現陣列去重 演示Demo 陣列去重 // 方法一 function unique1(a) { var res = []; for (var i = 0, len = a.length; i < len; i++) { for (var j =

Java實現陣列和兩陣列交併集

前言 Java平臺 陣列去重 基本的陣列去重法 HashMap實現陣列去重 兩陣列交集 基本的兩陣列求交法 HashMap版的兩陣列求交法 兩陣列並集 基本的兩陣列求並法 HashMap版的兩陣列求並法 Matlab平臺 Matlab處理陣列去重

PHP 快速實現陣列

概述 使用PHP的array_unique()函式允許你傳遞一個數組,然後移除重複的值,返回一個擁有唯一值的陣列。這個函式大多數情況下都能工作得很好。但是,如果你嘗試在一個大的數組裡使用array_unique()函式,它會執行地慢一些。 有一個比較好而且更快的函式array

JS陣列的幾種方法

一、方法1:利用ES6的Set和Array.from去重 var arr = [5,6,8,8,6,8,6]; var set = new Set(arr); //Set()它類似於陣列(偽陣列),但是成員的值都是唯一的,沒有重複的值。 console.log(Array.from(set)) //Arr

前端實現陣列,如何高效快捷?

陣列去重 1、雙迴圈去重 雙重for(或while)迴圈是比較笨拙的方法,它實現的原理很簡單:先定義一個包含原始陣列第一個元素的陣列,然後遍歷原始陣列,將原始陣列中的每個元素與新陣列中的每個元素進行比對,如果不重複則新增到新陣列中,最後返回新陣列;因為它的時間複雜度是O(n^2),如果陣列長度很大,那麼將

js高效率陣列

為陣列物件新增陣列去重方法,並且返回刪除的陣列元素: 方法1: Array.prototype.clearRedurance=function(){ var newArray=[],//

JavaScript實現陣列方法總結(六種方法)

方法一:雙層迴圈,外層迴圈元素,內層迴圈時比較值如果有相同的值則跳過,不相同則push進陣列Array.prototype.distinct = function(){ var arr = this, result = [], i, j, len = arr

js Object 陣列

目標:實現成員為 Object 的陣列的去重。 注意,這裡的陣列成員為 Object,而不是數值或者字串。 呼叫方法: arr = distinct_arr_element(arr); 函式: /* * 在陣列中去除重複項() */ var dis

ES6實現陣列

ES6 提供了新的資料結構 Set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。 Array.from方法可以將 Set 結構轉為陣列。 例如: const items = new S

js陣列

在方法一種利用雙層迴圈,在外層迴圈中找到陣列中的一個數作為基數,在內迴圈裡查詢剩餘的數與其相比較,相同的數利用splice方法去除該相同的數;同樣,該方法也不可以去除NaN; //*****************************方法一 var arr = [1, 1, 2, 2