用一行Array.filter去重JS陣列
最近在freeCodeCamp上練手js演算法題,發現有很多題目可以直接return一個鏈式呼叫的物件完成,恰巧趕上熟悉了filter方法,特此介紹
法一:
[需要去重的陣列].filter( (item, index ,arr)=>arr.indexOf(item) === index )
意思是,對於重複的元素 傳入indexOf方法,輸出的是陣列中第一次出現的下標而非它本身的下標,效果:
filter函式介紹:
filter是Array的原型方法,filter接受一個函式,函式可以傳3個引數:分別是遍歷到的元素物件,前者的下表和陣列本身,如果函式返回真,就把該元素加到新陣列中,遍歷完成後,filter返回一個包含遍歷是碰到每個return true對應元素的陣列;
示例:
var array = [1,2,3,4,5,6,7,8,9];
var newArray = array.filter(function(item){
return item % 2 === 0;//保留偶數
});
console.log(newArray)//[2,4,6,8]
console.log(array)//不會改變原陣列
法二,ES6中使用Set資料結構和...擴充運算子可以更加簡潔地達到這個效果
[...new Set([1,1,1,1,1,2,3,3,3,3,3])] //[1,2,3]
相關文章
- JS陣列去重 – JSON陣列去重陣列JSON
- js陣列去重JS陣列
- js陣列物件去重JS陣列物件
- js物件陣列去重JS物件陣列
- JS實現陣列去重JS陣列
- js 陣列去重小技巧JS陣列
- JS專題之陣列去重JS陣列
- JS陣列去重的實現JS陣列
- JS陣列去重7種方法JS陣列
- JS演算法——陣列去重JS演算法陣列
- 陣列去重陣列
- JS陣列去重的幾種方法JS陣列
- js中給陣列中物件去重JS陣列物件
- js陣列去重之核心思想JS陣列
- js陣列去重程式碼例項JS陣列
- JS陣列去重的10種方法JS陣列
- 陣列物件去重陣列物件
- JavaScript陣列去重JavaScript陣列
- JavaScript 陣列去重JavaScript陣列
- js陣列去重,除重的方式(儘可能多)JS陣列
- js陣列去重、扁平化函式JS陣列函式
- 整理了js陣列去重4種方法JS陣列
- JS陣列去重 包含去除多個 NaNJS陣列NaN
- 三種常用的js陣列去重方法JS陣列
- javascript之陣列去重JavaScript陣列
- JavaScript陣列去重方法JavaScript陣列
- 關於陣列去重陣列
- 陣列去重和求和陣列
- 陣列去重的方法陣列
- 陣列包含字典 去重陣列
- 陣列扁平和去重陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- 陣列去重和陣列扁平化陣列
- web前端陣列處理之陣列去重Web前端陣列
- 親測有效JS中9種陣列去重方法JS陣列
- js陣列去重的三種常用方法總結JS陣列
- 【轉】 js陣列 Array 交集 並集 差集 去重JS陣列
- 陣列去重,地址不改變陣列