最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實(shí)用技巧之去除數(shù)組或者對(duì)象里重復(fù)選項(xiàng)

 更新時(shí)間:2023年08月11日 10:23:12   作者:huyt-web  
這篇文章主要給大家介紹了關(guān)于js實(shí)用技巧之去除數(shù)組或者對(duì)象里重復(fù)選項(xiàng)的相關(guān)資料,JavaScript數(shù)組有很多內(nèi)置方法,可以操作和處理數(shù)據(jù),文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下

前言

在 JavaScript 中,數(shù)組去重,對(duì)象去重,可以使用多種方法來(lái)去除數(shù)組或?qū)ο笾械闹貜?fù)項(xiàng)。以下是其中的一些方法:

去除數(shù)組中的重復(fù)項(xiàng)

方法一:使用 Set

使用 Set 是去除數(shù)組中重復(fù)項(xiàng)的最簡(jiǎn)單和最快的方法。Set 對(duì)象是一組不重復(fù)的值的集合,可以接受一個(gè)數(shù)組(或者具有可迭代屬性的其他對(duì)象)作為參數(shù),并返回一個(gè)包含不重復(fù)元素的新數(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ù)組中刪除重復(fù)項(xiàng)。例如:

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ù)組中刪除重復(fù)項(xiàng)。例如:

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]

去除對(duì)象中的重復(fù)項(xiàng)

方法一:使用 for…in 和 hasOwnProperty

使用 for…in 循環(huán)遍歷對(duì)象的屬性,并使用 hasOwnProperty 方法檢查屬性是否是對(duì)象自身的屬性。例如:

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 方法獲取對(duì)象的所有屬性,然后使用 reduce 方法來(lái)去除重復(fù)項(xiàng)。例如:

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ù)組或?qū)ο笾械闹貜?fù)項(xiàng)的幾種方法。選擇哪種方法取決于個(gè)人喜好和具體情況。

總結(jié)

到此這篇關(guān)于js實(shí)用技巧之去除數(shù)組或者對(duì)象里重復(fù)選項(xiàng)的文章就介紹到這了,更多相關(guān)js去除數(shù)組對(duì)象重復(fù)選項(xiàng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS中的一些常用的函數(shù)式編程術(shù)語(yǔ)

    JS中的一些常用的函數(shù)式編程術(shù)語(yǔ)

    這篇文章主要介紹了JS中的一些常用的函數(shù)式編程術(shù)語(yǔ),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,
    2019-06-06
  • Bootstrap彈出框(modal)垂直居中的問(wèn)題及解決方案詳解

    Bootstrap彈出框(modal)垂直居中的問(wèn)題及解決方案詳解

    這篇文章主要介紹了Bootstrap彈出框(modal)垂直居中的問(wèn)題及解決方案詳解的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Javascript 訪(fǎng)問(wèn)樣式表實(shí)現(xiàn)代碼

    Javascript 訪(fǎng)問(wèn)樣式表實(shí)現(xiàn)代碼

    Javascript訪(fǎng)問(wèn)樣式表--又一篇好文章
    2009-08-08
  • 微信小程序中target和currentTarget的區(qū)別小結(jié)

    微信小程序中target和currentTarget的區(qū)別小結(jié)

    這篇文章主要給大家介紹了關(guān)于微信小程序中target和currentTarget區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • js千分位實(shí)現(xiàn)方法大匯總

    js千分位實(shí)現(xiàn)方法大匯總

    這篇文章主要介紹了js千分位實(shí)現(xiàn)方法大匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 前端js中的事件循環(huán)eventloop機(jī)制詳解

    前端js中的事件循環(huán)eventloop機(jī)制詳解

    這篇文章主要給大家介紹了關(guān)于前端js中事件循環(huán)eventloop機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • js實(shí)現(xiàn)視圖和數(shù)據(jù)雙向綁定的方法分析

    js實(shí)現(xiàn)視圖和數(shù)據(jù)雙向綁定的方法分析

    這篇文章主要介紹了js實(shí)現(xiàn)視圖和數(shù)據(jù)雙向綁定的方法,結(jié)合實(shí)例形式分析了vue.js及jQuery數(shù)據(jù)綁定相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • JavaScript中頻繁垃圾回收(GC)的避免方法與實(shí)踐

    JavaScript中頻繁垃圾回收(GC)的避免方法與實(shí)踐

    在現(xiàn)代 Web 應(yīng)用中,JavaScript 的垃圾回收機(jī)制(GC)承擔(dān)著自動(dòng)內(nèi)存管理的職責(zé),但如果不加控制,頻繁的 GC 會(huì)導(dǎo)致性能抖動(dòng)、幀率下降,甚至出現(xiàn) UI 卡頓,本文將系統(tǒng)性地探討如何避免 GC 頻繁觸發(fā),需要的朋友可以參考下
    2025-07-07
  • JavaScript使用lodash實(shí)現(xiàn)命名轉(zhuǎn)換和函數(shù)封裝

    JavaScript使用lodash實(shí)現(xiàn)命名轉(zhuǎn)換和函數(shù)封裝

    Lodash?是一個(gè)?JavaScript?的工具庫(kù),它提供了一系列的函數(shù)來(lái)簡(jiǎn)化代碼編寫(xiě),本文主要為大家介紹了如何使用lodash實(shí)現(xiàn)命名轉(zhuǎn)換和函數(shù)封裝,感興趣的小伙伴可以了解下
    2023-11-11
  • 鼠標(biāo)事件延時(shí)切換插件

    鼠標(biāo)事件延時(shí)切換插件

    為了防止誤操作,很多時(shí)候需要對(duì)鼠標(biāo)滑過(guò)觸發(fā)的事件進(jìn)行延時(shí)處理。網(wǎng)易首頁(yè)的選項(xiàng)卡好幾年之前就添加了這個(gè)特性,當(dāng)時(shí)我記得是采用150毫秒作為觸發(fā)基準(zhǔn)
    2011-03-03

最新評(píng)論

四川省| 饶河县| 松滋市| 措美县| 泽库县| 巩留县| 通化市| 株洲县| 通道| 乐山市| 兴安县| 吉水县| 石河子市| 临沂市| 梁平县| 南京市| 安阳市| 雷州市| 山阳县| 平果县| 崇左市| 北宁市| 胶州市| 青州市| 防城港市| 墨脱县| 宜君县| 双柏县| 江北区| 阿尔山市| 翁牛特旗| 惠来县| 光山县| 平山县| 吉首市| 宜兰县| 射洪县| 靖州| 米脂县| 伊吾县| 朔州市|