国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價(jià)值的文章主要介紹了js實(shí)用篇-去除數(shù)組或者對(duì)象里重復(fù)選項(xiàng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


在 JavaScript 中,數(shù)組去重,對(duì)象去重,可以使用多種方法來去除數(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 方法來去除重復(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è)人喜好和具體情況。文章來源地址http://www.zghlxwxcb.cn/news/detail-596600.html

到了這里,關(guān)于js實(shí)用篇-去除數(shù)組或者對(duì)象里重復(fù)選項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)組(九)-- LC[316]&[321]&[402] 去除重復(fù)字母

    數(shù)組(九)-- LC[316]&[321]&[402] 去除重復(fù)字母

    1.1 題目描述 ????????題目鏈接:https://leetcode.cn/problems/remove-k-digits/ 1.2 思路分析 ????????這道題讓我們從一個(gè)字符串?dāng)?shù)字中刪除 k 個(gè)數(shù)字,使得剩下的數(shù)最小。也就說,我們要保持原來的數(shù)字的相對(duì)位置不變。 ????????以題目中的 n u m = 1432219 , k = 3 num = 1432219,

    2023年04月12日
    瀏覽(22)
  • Matlab | 去除數(shù)組或矩陣中的重復(fù)元素

    Matlab | 去除數(shù)組或矩陣中的重復(fù)元素

    感謝@向著陽光生長(zhǎng)的男孩的指正!有更好的方法,只要一句代碼就搞定了。把三種方法整理了,一并放在下面了。 運(yùn)行結(jié)果 ———————————————————————————————————————————————————————————

    2024年02月11日
    瀏覽(20)
  • 快速去重:使用Java根據(jù)對(duì)象某一屬性去除重復(fù)對(duì)象的實(shí)現(xiàn)指南

    ???? Java中的對(duì)象去重操作?跟著小編一起學(xué)習(xí)吧!?? 在處理對(duì)象集合時(shí),有時(shí)候我們需要根據(jù)對(duì)象的某個(gè)屬性進(jìn)行去重操作。Java給我們提供了多種方法來實(shí)現(xiàn)這個(gè)功能。今天,小編就來給大家介紹一下如何使用Java根據(jù)對(duì)象的某個(gè)屬性進(jìn)行去重操作。?? 提供一個(gè)自定義的

    2024年02月04日
    瀏覽(94)
  • WIN11家庭版由于失敗的登錄次數(shù)過多或重復(fù)關(guān)機(jī),此登錄選項(xiàng)已被禁用。請(qǐng)使用其他登錄選項(xiàng),或者保持設(shè)備開機(jī)至少2小時(shí),然后重試解決方法

    如果在Windows 11中輸入gpedit.msc后提示找不到文件,可能是因?yàn)槟褂玫腤indows版本是Home版,該版本沒有包含組策略編輯器(gpedit.msc)功能。此時(shí)您需要升級(jí)到專業(yè)版、教育版或企業(yè)版才能使用組策略編輯器。 如果您無法升級(jí)到適合的Windows版本,可以嘗試其他方法來禁用賬戶鎖

    2024年02月11日
    瀏覽(530)
  • React突變狀態(tài),更新數(shù)據(jù)(對(duì)象或者數(shù)組),頁面數(shù)據(jù)不刷新的問題

    ? 剛開始開發(fā)時(shí),我們可能會(huì)遇到這樣的問題,使用useState創(chuàng)建對(duì)象或者數(shù)組時(shí),setState時(shí),頁面未進(jìn)行更新。這里其實(shí)是一個(gè)突變狀態(tài)的問題 什么是突變狀態(tài)? ? 當(dāng)我們給 setState 一個(gè)基本數(shù)據(jù)類型時(shí), state 值將會(huì)是 一個(gè)不可變的值 ? 更新時(shí), state 的 原始值也不會(huì)被更

    2024年02月11日
    瀏覽(28)
  • js實(shí)現(xiàn)push重復(fù)的數(shù)組拿到最新的數(shù)據(jù)

    2023.8.1今天我學(xué)習(xí)了如何使用js把重復(fù)push的數(shù)組只取最新的。 如:當(dāng)我們使用@input方法需要對(duì)數(shù)據(jù)進(jìn)行疊加的時(shí)候可能會(huì)對(duì)同一條數(shù)據(jù)進(jìn)行多次操作。 如: data:[ {id:1,name:\\\'張三\\\'},{id:2,name:\\\'李四\\\'},{id:1,name:\\\'張三三\\\'} ] 通過這個(gè)數(shù)組我們會(huì)發(fā)現(xiàn)id為1的這個(gè)數(shù)據(jù)會(huì)添加了兩次,但是

    2024年02月14日
    瀏覽(15)
  • 使用Stream流篩選出List集合中符合條件的實(shí)體對(duì)象

    使用stream流篩選出List集合中符合條件的實(shí)體對(duì)象 注意:使用findFirst()方法返回的是符合條件的第一個(gè)元素,使用findAny()方法在多線程并發(fā)訪問下是符合條件的任意元素 示例: 結(jié)果:

    2024年02月16日
    瀏覽(88)
  • js兩個(gè)數(shù)組對(duì)象去重,刪除兩個(gè)數(shù)組中相同的對(duì)象、刪除數(shù)組對(duì)象中某個(gè)對(duì)象

    模擬一些數(shù)據(jù): 方式一:兩個(gè)數(shù)組通過arr1的id和arr2的id比較,返回去重后的arr1 ?寫法二 打印的結(jié)果:console.log(newArr); 方式二:刪除兩個(gè)數(shù)組對(duì)象中相同的對(duì)象 方式三:es6 去掉兩個(gè)數(shù)組中相同值的對(duì)象 刪除數(shù)組中某一個(gè)對(duì)象、指定的對(duì)象 數(shù)組刪除其中的對(duì)象或元素,在前端

    2023年04月09日
    瀏覽(17)
  • JS對(duì)象轉(zhuǎn)數(shù)組

    JS對(duì)象轉(zhuǎn)數(shù)組

    一、JS對(duì)象轉(zhuǎn)數(shù)組方法如下(不考慮for相關(guān)遍歷): ? ? ? ? 1.[...res] ? ? ? ? 2.Array.from(res) ? ? ? ? 3.Object.values(res) ? ? ? ? 4.?Array.prototype.slice.call(res) 二、具體使用 ? ? ? ? 1.[...res] ? ? ? ? ? 2.?Array.from(res) ? ? ? ? 3.?Object.values(res) 4.?Array.prototype.slice.call(res) ? ?

    2024年02月11日
    瀏覽(20)
  • JS對(duì)象-數(shù)組(Array)

    1.? ? ? ? arr1.concat(arr2,arr3..) 合并數(shù)組 2.? ? ? ? arr1.join(\\\"指定字符串\\\"); 將數(shù)組按指定字符串拼接成一個(gè)新的字符串 ????????? ? arr1.toString() 轉(zhuǎn)字符串,默認(rèn),分割 無法指定 3.? ? arr1.pop() 刪除最后一個(gè)元素 ? ? ? ? arr1.push(\\\"元素\\\") 在結(jié)尾添加元素(可多個(gè)) 4.? ? ? ?

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包