要求:
去除陣列中['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b','y','g']中重復的元素,
核心演算法:
- 把舊陣列里面不重復的元素選取出來放到新陣列中,重復的元素只保留一個,
- 遍歷舊陣列,然后拿著舊陣列元素去查詢新陣列,如果該元素在新陣列里面沒有出現過,則添加到新陣列中,否則不添加,
- 利用
新陣列.indexOf(陣列元素),如果回傳時-1就說明,新陣列里面沒有該元素,
代碼實作:
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var demo = unique(['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b', 'y', 'g']);
console.log(demo);
輸出結果:
["c", "a", "z", "x", "b", "y", "g"]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/160350.html
標籤:其他
上一篇:原生JS內置物件的陣列操作習題
