国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JS實現數組去重及數組內對象去重功能示例

來源:懂視網 責編:小采 時間:2020-11-27 22:01:16
文檔

JS實現數組去重及數組內對象去重功能示例

JS實現數組去重及數組內對象去重功能示例:本文實例講述了JS實現數組去重及數組內對象去重功能。分享給大家供大家參考,具體如下: 大家在寫項目的時候一定遇到過這種邏輯需求,就是給一個數組進行去重處理,還有一種就是給數組內的對象根據某一個屬性,比如id,進行去重,下面我寫了兩個函數,都是可
推薦度:
導讀JS實現數組去重及數組內對象去重功能示例:本文實例講述了JS實現數組去重及數組內對象去重功能。分享給大家供大家參考,具體如下: 大家在寫項目的時候一定遇到過這種邏輯需求,就是給一個數組進行去重處理,還有一種就是給數組內的對象根據某一個屬性,比如id,進行去重,下面我寫了兩個函數,都是可

本文實例講述了JS實現數組去重及數組內對象去重功能。分享給大家供大家參考,具體如下:

大家在寫項目的時候一定遇到過這種邏輯需求,就是給一個數組進行去重處理,還有一種就是給數組內的對象根據某一個屬性,比如id,進行去重,下面我寫了兩個函數,都是可以達到這個效果的,一個是純ES5的去重辦法,一個是用了ES6的 Array.from(new Set())和ES5的reduce來進行去重

我先定義兩個數組吧

var arr = [1,2,3,5,3,4,5,6,6,"test","test",true];
var person = [
 {
 name:"孫悟空",
 weapon:"如意金箍棒",
 experience:"大鬧天宮、西天取經",
 post:"斗戰勝佛、齊天大圣"
 },
 {
 name:"孫悟空",
 weapon:"如意金箍棒",
 experience:"大鬧天宮、西天取經",
 post:"斗戰勝佛、齊天大圣"
 },
 {
 name:"孫悟空",
 weapon:"如意金箍棒",
 experience:"大鬧天宮、西天取經",
 post:"斗戰勝佛、齊天大圣"
 },
 {
 name:"孫悟空",
 weapon:"如意金箍棒",
 experience:"大鬧天宮、西天取經",
 post:"斗戰勝佛、齊天大圣"
 },
 {
 name:"孫悟空",
 weapon:"如意金箍棒",
 experience:"大鬧天宮、西天取經",
 post:"斗戰勝佛、齊天大圣"
 }
];

ES5版本:

//ES5原生去重辦法
function Es5duplicate(arr,type){
 var newArr = [];
 var tArr = [];
 if(arr.length == 0){
 return arr;
 }else{
 if(type){
 for(var i = 0; i < arr.length;i++){
 if(!tArr[arr[i][type]]){
 newArr.push(arr[i]);
 tArr[arr[i][type]] = true;
 }
 }
 return newArr;
 }else{
 for(var i = 0; i < arr.length;i++){
 if(!tArr[arr[i]]){
 newArr.push(arr[i]);
 tArr[arr[i]] = true;
 }
 }
 return newArr;
 }
 }
}
console.log('ES5去重',Es5duplicate(arr));
console.log('ES5去重',Es5duplicate(person,"name"));

ES6 + ES5版本:

//Es6 + ES5去重辦法
function Es6duplicate(arr,type){
 if(arr.length == 0){
 return arr;
 }else{
 if(type){
 var obj = {}
 var newArr = arr.reduce((cur,next) => {
 obj[next.name] ? "" : obj[next.name] = true && cur.push(next);
 return cur;
 },[])
 return newArr;
 }else{
 return Array.from(new Set(arr));
 }
 }
}
console.log('ES6去重',Es6duplicate(arr));
console.log('ES6去重',Es6duplicate(person,"name"));

看下結果

看起來好像是第二種辦法代碼量要小一些,但是第一個通用,兼容性特別好,第二個因為牽扯到了ES6新特性,所以還是要考慮一下兼容性,但是如果你要是在vue-cli初始化生成的項目,可以隨便用ES6的新特性,他自動轉譯了,我自己搭建了一個demo,試了好多新特性,IE9+都有效果(本身vue就不支持IE8及以下,所以IE9以下沒辦法實驗)

PS:這里再為大家提供幾款相關工具供大家參考使用:

在線去除重復項工具:
http://tools.jb51.net/code/quchong

在線文本去重復工具:
http://tools.jb51.net/aideddesign/txt_quchong

更多關于JavaScript相關內容還可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript字符與字符串操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JS實現數組去重及數組內對象去重功能示例

JS實現數組去重及數組內對象去重功能示例:本文實例講述了JS實現數組去重及數組內對象去重功能。分享給大家供大家參考,具體如下: 大家在寫項目的時候一定遇到過這種邏輯需求,就是給一個數組進行去重處理,還有一種就是給數組內的對象根據某一個屬性,比如id,進行去重,下面我寫了兩個函數,都是可
推薦度:
標簽: 對象 示例 數組
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品成人69xxx免费视频 | 久久大香香蕉国产免费网vrr | 国产一区二区三区视频 | 国产精品美女久久久久网站 | 久久精品一区二区国产 | 一级一级一级毛片免费毛片 | 国产精品久久久久久一区二区三区 | 激情综合亚洲欧美日韩 | 亚洲欧美中文日韩综合 | 欧美激情网站 | 国产亚洲人成a在线v网站 | 欧美精品一区二区三区免费观看 | 国产精选免费视频 | 2021国产精品自拍 | 国产爱搞 | 国产一级高清视频免费看 | 一区二区不卡视频 | 337p日本欧洲亚洲大胆精品 | 中文字幕精品一区二区精品 | 天天做天天摸天天爽天天爱 | 日韩精品成人 | 欧美在线一二三区 | 亚洲最大色网 | 色在线免费视频 | 国产在线播放网站 | 亚洲视频网站在线观看 | 五月婷婷网站 | 精品国产欧美一区二区五十路 | 国内精品一区二区在线观看 | 欧美综合视频 | 国产精品久久久久久久 | 一区二区三区四区电影 | 亚洲精国产一区二区三区 | 国产日产高清欧美一区二区三区 | 国产在线观看网站 | 欧美色图第一页 | 自拍 欧美 日韩 | 亚洲 欧美 手机 在线观看 | 欧美色综合图区 | 日韩成人在线观看 | 久久大陆|