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

JS一級數(shù)組和數(shù)組對象合并去重方法實例

 更新時間:2023年12月08日 09:44:33   作者:大不了從頭再來  
這篇文章主要為大家介紹了JS一級數(shù)組和數(shù)組對象合并去重方法實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一級數(shù)組

方法一 使用 es6 的 Set 和 Array.from 方法

let arr1 = [1, 2, 3, 4, 5, 6, 2, 3]
let arr2 = [1, 2, 3, 4, 5, 6, 5, 6]
let result = Array.from(new Set([...arr1, ...arr2]))
console.log(result) // [1, 2, 3, 4, 5, 6]

方法二 使用 indexOf 方法

let arr1 = [1, 2, 3, 4, 5, 6, 2, 3]
let arr2 = [1, 2, 3, 4, 5, 6, 5, 6]
let arr3 = arr1.concat(arr2)
function uniqueFun(arr) {
 const newArr = []
 for (let i = 0; i < arr.length; i++) {
     if (newArr.indexOf(arr[i]) == -1) {
         newArr.push(arr[i])
     }
 }
 return newArr
}
console.log(uniqueFun(arr3)) // [1, 2, 3, 4, 5, 6]

方法三 使用 includes 方法

let arr1 = [1, 2, 3, 4, 5, 6, 2, 3]
let arr2 = [1, 2, 3, 4, 5, 6, 5, 6]
let arr3 = arr1.concat(arr2)
function uniqueFun(arr) {
 const newArr = []
 for (let i = 0; i < arr.length; i++) {
     if (!newArr.includes(arr[i])) {
         newArr.push(arr[i])
     }
 }
 return newArr
}
console.log(uniqueFun(arr3)) // [1, 2, 3, 4, 5, 6]

方法四 使用 filter 方法

let arr1 = [1, 2, 3, 4, 5, 6, 2, 3]
let arr2 = [1, 2, 3, 4, 5, 6, 5, 6]
let arr3 = arr1.concat(arr2) // [1, 2, 3, 4, 5, 6, 2, 3, 1, 2, 3, 4, 5, 6, 5, 6]
function uniqueFun(arr) {
 return arr.filter((item, index, arr) => {
     return arr.indexOf(item) == index // 返回當(dāng)前元素在原始數(shù)組的索引值 == 當(dāng)前索引值的元素
 })
}
conosle.log(uniqueFun(arr3)) // [1, 2, 3, 4, 5, 6]

方法五 使用 es6 Map

let arr1 = [1, 2, 3, 4, 5, 6, 2, 3]
let arr2 = [1, 2, 3, 4, 5, 6, 5, 6]
let arr3 = arr1.concat(arr2) 
function uniqueFun(arr) {
 let map = new Map()
 return arr.filter(item => {
     return !map.has(item) && map.set(item, 1)
 })
}
console.log(uniqueFun(arr3)) // [1, 2, 3, 4, 5, 6]

數(shù)組對象

方法一 使用擴展運算符(...), filter 和 Map

let arr1 = [{id: 1, name: '小明'}, {id: 2, name: '小紅'}, {id: 4, name: '小劉'}]
let arr2 = [{id: 1, name: '小明'}, {id: 2, name: '小紅'}, {id: 3, name: '小王'}]
let arr3 = [...arr1, ...arr2]
function uniqueFun(arr) {
 const map = new Map()
 return arr.filter(item => {
     return !map.has(item.id) && map.set(item.id, 1)
 })
}
console.log(uniqueFun(arr3)) // 輸出 [{id: 1, name: '小明}, {id: 2, name: '小紅'}, {id: 4, name: '小劉'}, {id: 3, name: '小王'}]

方法二 使用擴展運算符(...), filter 和對象字面量 {}

let arr1 = [{id: 1, name: '小明'}, {id: 2, name: '小紅'}, {id: 4, name: '小劉'}]
let arr2 = [{id: 1, name: '小明'}, {id: 2, name: '小紅'}, {id: 3, name: '小王'}]
let arr3 = [...arr1, ...arr2]
function uniqueFun(arr) {
 const obj = {}
 return arr.filter(item => {
     return !obj.hasOwnProperty(item.id) && (obj[item.id] = 1)
 })
}
console.log(uniqueFun(arr3)) // 輸出 [{id: 1, name: '小明}, {id: 2, name: '小紅'}, {id: 4, name: '小劉'}, {id: 3, name: '小王'}]

方法三 使用concat, reduce 和 find

let arr1 = [{id: 1, name: '小明'}, {id: 2, name: '小紅'}, {id: 4, name: '小劉'}]
let arr2 = [{id: 1, name: '小明'}, {id: 2, name: '小紅'}, {id: 3, name: '小王'}]
let arr3 = arr1.concat(arr2)
function uniqueFun(arr) {
 return arr.reduce((pre, cur) => {
     if (!pre.find(item => item.id === cur.id)) {
         pre.push(cur)
     }
     return pre
 }, [])
}
console.log(uniqueFun(arr3)) // 輸出 [{id: 1, name: '小明}, {id: 2, name: '小紅'}, {id: 4, name: '小劉'}, {id: 3, name: '小王'}]

以上就是JS一級數(shù)組和數(shù)組對象合并去重方法實例的詳細(xì)內(nèi)容,更多關(guān)于JS一級數(shù)組數(shù)組對象合并去重的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 從表單校驗看JavaScript策略模式的使用詳解

    從表單校驗看JavaScript策略模式的使用詳解

    這篇文章主要介紹了從表單校驗看JavaScript策略模式的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • JS使用JSON.parse(),JSON.stringify()實現(xiàn)對對象的深拷貝功能分析

    JS使用JSON.parse(),JSON.stringify()實現(xiàn)對對象的深拷貝功能分析

    這篇文章主要介紹了JS使用JSON.parse(),JSON.stringify()實現(xiàn)對對象的深拷貝功能,結(jié)合實例形式分析了JSON.parse()與JSON.stringify()方法實現(xiàn)深拷貝的相關(guān)實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2019-03-03
  • 樹結(jié)構(gòu)之JavaScript

    樹結(jié)構(gòu)之JavaScript

    本文主要介紹了JavaScript樹結(jié)構(gòu)的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • ionic組件ion-tabs選項卡切換效果實例

    ionic組件ion-tabs選項卡切換效果實例

    這篇文章主要為大家詳細(xì)介紹了ionic組件ion-tabs選項卡切換效果實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 如何通過JavaScript來實現(xiàn)頁面間數(shù)據(jù)傳遞

    如何通過JavaScript來實現(xiàn)頁面間數(shù)據(jù)傳遞

    這篇文章主要給大家介紹了關(guān)于如何通過JavaScript來實現(xiàn)頁面間數(shù)據(jù)傳遞的相關(guān)資料,在前端開發(fā)中我們常常需要從一個跳到另一個頁面,并且將當(dāng)前頁面的數(shù)據(jù)傳遞過去,需要的朋友可以參考下
    2023-11-11
  • JS實現(xiàn)的簡單圖片切換功能示例【測試可用】

    JS實現(xiàn)的簡單圖片切換功能示例【測試可用】

    這篇文章主要介紹了JS實現(xiàn)的簡單圖片切換功能,結(jié)合實例形式分析了javascript結(jié)合時間函數(shù)定時觸發(fā)控制圖片的遍歷與切換操作相關(guān)技巧,需要的朋友可以參考下
    2017-02-02
  • 在javascript中使用com組件的簡單實現(xiàn)方法

    在javascript中使用com組件的簡單實現(xiàn)方法

    下面小編就為大家?guī)硪黄趈avascript中使用com組件的簡單實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-08-08
  • 使用layui的router來進(jìn)行傳參的實現(xiàn)方法

    使用layui的router來進(jìn)行傳參的實現(xiàn)方法

    今天小編就為大家分享一篇使用layui的router來進(jìn)行傳參的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JS中間件設(shè)計模式的深入探討與實例分析

    JS中間件設(shè)計模式的深入探討與實例分析

    這篇文章主要介紹了JS中間件設(shè)計模式,結(jié)合實例形式分析了JS中間件設(shè)計模式功能、原理、應(yīng)用場景及相關(guān)操作注意事項,需要的朋友可以參考下
    2020-04-04
  • 基于JQuery+HTML+JavaScript實現(xiàn)地圖位置選取和地址模糊查詢

    基于JQuery+HTML+JavaScript實現(xiàn)地圖位置選取和地址模糊查詢

    本文詳細(xì)講解了如何使用 JQuery+HTML+JavaScript 實現(xiàn)移動端頁面中的地圖位置選取功能,本文逐步展示了如何構(gòu)建基本的地圖頁面,如何通過點擊地圖獲取經(jīng)緯度和地理信息,以及如何實現(xiàn)模糊查詢地址并在地圖上標(biāo)注,感興趣的小伙伴跟著小編一起來看看吧
    2024-07-07

最新評論

武威市| 曲阳县| 日喀则市| 黄山市| 浪卡子县| 邯郸县| 荥经县| 志丹县| 教育| 陆良县| 桃源县| 临泉县| 安溪县| 谷城县| 苏尼特右旗| 彭州市| 台山市| 石河子市| 丽水市| 都安| 赣榆县| 兴义市| 高碑店市| 贵阳市| 商洛市| 苍山县| 衡山县| 湟源县| 化德县| 方城县| 千阳县| 秦皇岛市| 南丰县| 含山县| 荣成市| 罗江县| 博湖县| 阆中市| 马山县| 西乌珠穆沁旗| 万荣县|