js陣列的去重,如果沒值追加,有就跳過

2021-10-06 10:57:22 字數 1379 閱讀 5424

場景:往陣列中新增值 如果存在這個值就不追加,沒有就追加 

原理:這個陣列的每乙個值在另乙個陣列是否能找到,用到了函式indeof

//陣列追加

var array = [1,2,9];

var temp=[2,3,4];

for(let i=0;i-1)

if(array.indexof(temp[i])==-1)

}

輸出的 

場景:陣列的去重  原理在陣列中找每個元素是否唯一不為唯一刪除還是用到indexof

//陣列去重

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

for(let i=0;i-1)

} console.log(array)

場景:儲存是我資料在乙個陣列 傳過來要刪除的陣列  其實也就是刪除陣列中的元素

//陣列的刪除

var array = [1,2,9,7,3,4];

var delarr = [3,2,4];

for(let j=0;j-1)

} console.log(array)

也可以 

//陣列刪除的

var array = [1,2,9,55,11,3]; //相當於已經選好的

var temp=[2,3,4,8,5,1]; //傳過來需要刪除的

for(var i = 0; i < temp.length; i++)

} } console.log(array)

es6的方式

方法一

function unique(arr) 

示例:var arr=[1,3,2,5,5,5,4]

console.log(array.from(new set(arr)))

結果:

方法二 es6includes():返回布林值,判斷是否找到引數字串。

var  array   = [1,2,9]; 

var temp=[2,3,4];

for(let i=0;i注意:includes()只返回布林值,如果需要知道子串的位置,還是得用 indexof 和 lastindexof  

js陣列去重的方法

array.from方法可以將set結構轉為陣列 let items new set 1,2,3,4,5 let array array.from items 這就是提供了一種資料去重的方法 function uniq array uniq 1,2,3,3 1,2,3 運用擴充套件運算子 提供了一種...

js陣列去重的方法

最簡單的方法一 vararr 1,2 3,1 原陣列 vararr2 新陣列 for vari 0 ilength i console.log arr2 最簡單的方法二 當你很任性不想用array.indexof item 時 vararr 1 a a b d e e 1 0 15 1 15 var...

js陣列去重的方法

方法一 利用splice直接在原陣列進行操作,雙層迴圈,外層迴圈元素,內層迴圈時比較值。值相同時,則刪去這個值。array.prototype.distinct function return arr var a 1,2,3,4,5,6,5,4,3,4,1,var b a.distinct 方法二 ...