js中的陣列去重
1.建立乙個新陣列,把陣列中的每乙個元素插入到新陣列中
2.遍歷原陣列中每乙個元素分別和新陣列中的每乙個元素進行比較
第一種去重方法
//原陣列
var arr =[1
,2,5
,41,1
,2,1
,4,5
,8,10
]//新陣列
var t =
; t[0]
= arr[0]
;//arr中的每乙個元素
for(
var i =
0;i < arr.length; i ++
)//拿原陣列中的某個元素比較到新陣列中的最後乙個元素還沒有重複
if(j == t.length-1)
}}<
/script>
可以把陣列去重定義成函式
var arr1 =[1
,2,5
,41,1
,2,1
,4,5
,8,10
];function
arrayfilter
(arr)
if(j == newarray.length-1)
}}console.
log(newarray)
}arrayfilter
(arr1)
<
/script>
第二種方法 使用es6 中的 set函式
var arr = [1,2,5,41,1,2,1,4,5,8,10];
let t = array.from(new set(arr))
console.log(t)
var arr1 =[1
,3,4
,54,6
,4,23
,674,4
,2,1
,2,3
,80];
//宣告第乙個陣列
var arr2 =[1
,3,4
,6,78
,5,65
,6,5
,6,56
,5,75
,80];
//宣告第二個陣列
var arr3 =
;//宣告第三個空陣列,放第乙個陣列和第二個陣列相同的資料
for(
var i =
0;i } console.
log(
'取出兩個陣列中相同的元素'
,arr3)
<
/script>
結果:
由於新陣列中有重複的資料可以使用陣列去重把重複的資料去除。
console.log('對陣列arr3去重',array.from(new set(arr3)))
var arr1 =[1
,3,4
,54,6
,4,23
,674,4
,2,1
,2,3
,80];
//宣告第乙個陣列
var arr2 =[1
,3,4
,6,78
,5,65
,6,5
,6,56
,5,75
,80];
//宣告第二個陣列
// 獲得兩個陣列中不一樣的資料
function
getdifferent
(arr1,arr2))}
console.
log(
getdifferent
(arr1,arr2)
)<
/script>
**
var arr1 =[1
,3,4
,54,6
,4,23
,674,4
,2,1
,2,3
,80];
//宣告第乙個陣列
var arr2 =[1
,3,4
,6,78
,5,65
,6,5
,6,56
,5,75
,80];
//宣告第二個陣列
陣列arr1和陣列arr2合併成乙個新陣列。
console.
log(array.
from
(new
set(arr1.
concat
(arr2)))
)<
/script>
JS陣列去重,物件去重
例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...
JS中陣列去重問題
js中陣列去重問題 我總共想出了三種演算法來實現這個目的 array.prototype.unique1 function return n array.prototype.unique2 function r n為hash表,r為臨時陣列 for var i 0 i this.length i 遍...
js中陣列如何去重
比較簡單的去重方法一 方法一 要呼叫indexof 如果當前陣列的第i項在當前陣列 現的位置不是i,那麼就是重複項,是i那就存入陣列 function arr num return temp var aa 1,2,2 4,9,a a 2,3,5,6,5 console.log arr aa 方法二 ...