1. 程式人生 > >陣列去重的一種方法

陣列去重的一種方法

記錄一下比較簡潔的陣列去重方法:

思路:陣列去重顧名思義就是將重複的資料去除

實現方法:

Array.prototype.unique=function(){
		var result= [],hash={};
		// 迴圈陣列
		for(var i=0;i<this.length;i++){
			//如果不在hash中則將資料儲存到result陣列中
			if(!hash[this[i]]){
				hash[this[i]] = true; //存入hash表
				result.push(this[i]);

			}
		}
		return result;
	}
	var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0];
	console.log(arr.unique());
效果如下圖:


相關推薦

JS陣列方法

JS陣列去重幾種方法 1. 利用ES6 Set去重(ES6中最常用) ``` function unique(arr){   return Array.from(new Set(arr)); } var arr=[1,1,2,3,3,3,4,4,4,5,5,'1','tr

陣列方法

方法一: var arr=[21,21,2,3,5,77,2]; var arr2=[]; for(var i=0;i<arr.length;i++){ var flag=true; for(v

陣列4方法

var arr=[1,2,3,4,2,3,1,5,3]; //去重 方法一:for..in... function removeRepeat(arr){ var newArr=[]; for(var i in arr){ if(newArr.indexOf(arr[i])&

陣列方法 (不用集合)

第一種方法(只學到陣列的看): 定義一個新的陣列長度和舊陣列的長度一樣,儲存除去重複資料的舊陣列的資料和0, public static void main(String[] args) { // 獲取一個無重複元素的陣列 int[] arr

JavaScript陣列12中方法

陣列去重,一般都是在面試的時候才會碰到,一般是要求手寫陣列去重方法的程式碼。如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。 在真實的專案中碰到的陣列去重,一般都是後臺去處理,很少讓前端處理陣列去重。雖然日常專案用到的概率比較低,但還是需要了解一下,以防面

js陣列有哪些方法?

原生js去重方法 1. 冒泡去重 function unique(arr){ var res=[]; for(var i=0,len=arr.length;i<len;i++){ var obj = arr[i];

陣列最優方法

首先得知道陣列沒有可以直接去重的方法,即直接[].unique()是不支援的,會報“Uncaught TypeError: [].unique is not a function”錯誤,這就要求我們要將unique()方法新增到陣列Array.prototy

JavaScript 陣列的多種方法原理詳解

說明 陣列去重,這是一個面試經常會遇見的問題,網上講陣列去重的文章也是特別的多,但是我們依舊來講講陣列去重,這篇文章比較適合於接觸過一段時間的JavaScript的初學者,希望這篇文章能給初學者帶來一些幫助。 方法一 function unique(arr

Oracle 根據某個欄位對查詢結果方法詳述

Oracle三種去重的方法 distinct group by rowid 分組函式:作用於一組資料,並對一組資料返回一個值 常見的分組函式有: count 返回找到的記錄數 min 返回一個數字列或計算列的最小值 max 返回一個數字列或計算列的最

JavaScript陣列的原型方法

      本文主要說明兩種原型方法來過濾陣列中的重複元素。 方法一: 思路:1)構建一個新的陣列存放結果;           2)for迴圈中每次從原陣列中取出一個元素,用這個元素迴圈與結果陣列對

Java陣列的多種方法

/* 陣列去重 1:遍歷陣列,將元素依次新增進結果集中,如果結果集中已經存在,則不再新增,O(n*n) 2:如果知道元素範圍,比如是字母,或者數字在固定範圍內,可以採用輔助陣列,輔助陣列下標是去重陣列的元素,輔助陣列元素時去重陣列元素的個數,O(n) 3:先將原陣列排序,在

獲取動態陣列指標 所指向陣列長度的方法

經常在程式中會動態建立一個數組。將用一個指標來指向這個陣列。     剛學C++,在動手想寫東西時,考慮到想要取得這個動態陣列的長度。網上找了點資料。基本想沒得到好的答案,但看到了有人提到用 _msize取記憶體計算的方法。我自己測試了一下,貌似可以。     親測程

陣列方法

記錄一下比較簡潔的陣列去重方法: 思路:陣列去重顧名思義就是將重複的資料去除 實現方法:Array.prototype.unique=function(){ var result= [],hash={}; // 迴圈陣列 for(var i=0;i<thi

JavaScript 陣列、二維陣列方法

1.使用ES6語法 set方法陣列去重:: a=[1,2,3,4,1,2,3,4]; [...new Set(a)]; //[1, 2, 3, 4] 2.一維陣列去重方法 function unique1(array){ var n = []; //一個新的臨時陣列

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

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

JavaScript陣列的四方法

今天,剛剛參加了公司的筆試,關於陣列去重,後來簡單總結了幾種方法,希共勉,為我打call....... es5四種方式: 方式一: Array.prototype.unique1 = function() { // 1. 定義陣列 var temp = []; // 2. 遍歷當前陣列 f

JS--陣列的幾常見方法

一、簡單的去重方法 // 最簡單陣列去重法 /* * 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 * IE8以下不支援陣列的indexOf方法 * */ function uniq(array){ var temp = []; //一個新的臨時陣列 for(v

JS常見的幾陣列方法

總結一下JS中用到的陣列去重的方法  方法一: 該方法利用物件的屬性值不能相同: function arrDelLikeElement (array) { const result = []; const obj = {}; for(let i in arr

JavaScript陣列(12方法

陣列去重,一般都是在面試的時候才會碰到,一般是要求手寫陣列去重方法的程式碼。如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。 在真實的專案中碰到的陣列去重,一般都是後臺去處理,很少讓前端處理陣列去重。雖然日常專案用到的概率比較低,但還是需要了解一下,以防面試的

JavaScript陣列的N方法

對於陣列去重我們有n種方法可以實現。 es5實現方法 for迴圈+indexOf function unique(arr) { var uniqueArr = [], len = arr.length for (var i = 0; i < len; i++) { if (uniqu