js實用技巧之去除數(shù)組或者對象里重復選項
前言
在 JavaScript 中,數(shù)組去重,對象去重,可以使用多種方法來去除數(shù)組或對象中的重復項。以下是其中的一些方法:
去除數(shù)組中的重復項
方法一:使用 Set
使用 Set 是去除數(shù)組中重復項的最簡單和最快的方法。Set 對象是一組不重復的值的集合,可以接受一個數(shù)組(或者具有可迭代屬性的其他對象)作為參數(shù),并返回一個包含不重復元素的新數(shù)組。例如:
javascriptCopy code const arr = [1, 2, 3, 3, 4, 5, 5]; const uniqueArr = [...new Set(arr)]; console.log(uniqueArr); // [1, 2, 3, 4, 5]
方法二:使用 filter 和 indexOf
使用 filter 和 indexOf 方法可以從數(shù)組中刪除重復項。例如:
javascriptCopy code
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]方法三:使用 reduce 和 includes
使用 reduce 和 includes 方法可以從數(shù)組中刪除重復項。例如:
javascriptCopy code
const arr = [1, 2, 3, 3, 4, 5, 5];
const uniqueArr = arr.reduce((prev, cur) => {
if (!prev.includes(cur)) {
prev.push(cur);
}
return prev;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]去除對象中的重復項
方法一:使用 for…in 和 hasOwnProperty
使用 for…in 循環(huán)遍歷對象的屬性,并使用 hasOwnProperty 方法檢查屬性是否是對象自身的屬性。例如:
javascriptCopy code
const obj = {
a: 1,
b: 2,
c: 3,
d: 3,
e: 4,
f: 4
};
const uniqueObj = {};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
uniqueObj[obj[key]] = key;
}
}
console.log(uniqueObj); // { '1': 'a', '2': 'b', '3': 'c', '4': 'e' }方法二:使用 Object.keys 和 reduce
使用 Object.keys 方法獲取對象的所有屬性,然后使用 reduce 方法來去除重復項。例如:
javascriptCopy code
const obj = {
a: 1,
b: 2,
c: 3,
d: 3,
e: 4,
f: 4
};
const uniqueObj = Object.keys(obj).reduce((prev, key) => {
const value = obj[key];
if (!prev.hasOwnProperty(value)) {
prev[value] = key;
}
return prev;
}, {});
console.log(uniqueObj); // { '1': 'a', '2': 'b', '3': 'c', '4': 'e' }以上是去除數(shù)組或對象中的重復項的幾種方法。選擇哪種方法取決于個人喜好和具體情況。
總結
到此這篇關于js實用技巧之去除數(shù)組或者對象里重復選項的文章就介紹到這了,更多相關js去除數(shù)組對象重復選項內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
javascript實現(xiàn)Table間隔色以及選擇高亮(和動態(tài)切換數(shù)據(jù))的方法
這篇文章主要介紹了javascript實現(xiàn)Table間隔色以及選擇高亮(和動態(tài)切換數(shù)據(jù))的方法,涉及javascript表格操作及按鈕實現(xiàn)表格切換的技巧,需要的朋友可以參考下2015-05-05
基于Bootstrap漂亮簡潔的CSS3價格表(附源碼下載)
該價格表基于Bootstrap網(wǎng)格系統(tǒng)來進行布局,通過簡單的CSS3代碼來美化價格表,樣式非常的時尚漂亮,且能在不同屏幕下展示良好的效果,需要的朋友可以參考下2017-02-02
深入淺析JavaScript中數(shù)據(jù)共享和數(shù)據(jù)傳遞
這篇文章主要介紹了深入淺析JavaScript中數(shù)據(jù)共享和數(shù)據(jù)傳遞的相關資料,需要的朋友可以參考下2016-04-04

