中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

JavaScript中如何對多維數組(矩陣)去重的實現

今天碰到了一個問題,需要對一個數組矩陣進行去重處理。

創(chuàng)新互聯是一家專注于網站制作、成都網站設計與策劃設計,潁州網站建設哪家好?創(chuàng)新互聯做網站,專注于網站建設10多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:潁州等地區(qū)。潁州做網站價格咨詢:028-86922220

比如如下數組矩陣:

[ [1, 2, 3], [2, 3, 4], [2, 1, 3], [5, 6, 7] ]

接下來是去重處理的方法。

1.適用于純數字數組矩陣和字符數字數組矩陣

// 本節(jié)用例:
// 1.純數字數組矩陣
[
  [1, 2, 3],
  [2, 3, 4],
  [2, 1, 3],
  [5, 6, 7]
]
// 2.字符數字數組矩陣
[
  ['1', '2', '3'],
  ['2', '3', '4'],
  ['2', '1', '3'],
  ['5', '6', '7']
]

// 如果數字和字符數字混合的話,類似于 [1, '2', 3] 和 ['1', '2', 3] 會被認為是等價的...

主要利用對象屬性名比較的方法,因為一個對象中每個屬性的屬性名是唯一的。

function unique(matrix) {
  let obj = {};
  let res = [];
  matrix.map(item => {
    item.sort((a, b) => a - b);
    if (!obj.hasOwnProperty(item)) {// 判斷對象中是否有這個屬性名
      obj[item] = item;
      res.push(item);
    }
  })
  return res;
}

上面的方法可以進一步優(yōu)化成為:

// 這樣更簡潔
function unique(matrix) {
  let res = {};
  matrix.map(item => {
    item.sort((a, b) => a - b);
    res[item] = item;
  })
  return Object.values(res);
}

2.適用于純文字字符數組矩陣

// 本節(jié)用例:
// 純文字字符數組矩陣
[
  ["你的", "我", "它"],
  ["我", "你的", "它"],
  ["一", "二", "三"],
  ["三", "二", "一"],
  ["你d", "a", "它"],
  ["a", "你d", "它"],
  ["one", "two", "three"],
  ["three", "two", "one"]
]

分別利用對象屬性名比較和ES6語法中的Set

(1) 利用屬性名比較,將上面的方法稍微改動一下就可以實現

// 數組元素可能位置不同但元素內容相同,所以必須按照某一順序對其進行排序,這里按首字母對字符串進行排序
function _unique(matrix) {
  let res = {};
  matrix.map(item => {
    item.sort((a, b) => a.localeCompare(b));
    res[item] = item;
  })
  return Object.values(res);
}

(2) 利用ES6語法中的Set,Set中的每個值都是唯一的

function _unique(matrix) {
  let res = [];
  matrix.map(item => {
    res.push(item.sort((a, b) => a.localeCompare(b)).toString());
  })
  // return Array.from(new Set(res)).map(item => item.split(','))
  return [...new Set(res)].map(item => item.split(','));// 上下等價
}

源碼在此

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯。

網站標題:JavaScript中如何對多維數組(矩陣)去重的實現
本文網址:http://m.2m8n56k.cn/article26/jdcijg.html

成都網站建設公司_創(chuàng)新互聯,為您提供全網營銷推廣小程序開發(fā)、靜態(tài)網站、手機網站建設、品牌網站建設、

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

h5響應式網站建設
主站蜘蛛池模板: 欧美一级视频免费 | 综合 欧美 国产 视频二区 | 国产一级做a爰片久久毛片99 | 亚洲成年人免费网站 | 免费视频久久久 | 欧美最爽乱淫视频播放黑人 | 一个人免费观看日本www视频 | 黄色在线视屏 | 宅男噜噜噜一区二区三区 | 亚洲最大黄网 | 台湾三级香港三级在线中文 | 5级做人爱c视版免费视频 | 日韩在线视频不卡一区二区三区 | 日本国产欧美色综合 | 久久99精品国产免费观看 | 香港国产特级一级毛片 | 久久精品男人的天堂 | 成人毛片免费免费 | 亚洲三及片 | 亚洲国产精品线观看不卡 | 老妇激情毛片 | 亚洲精品一区二区在线播放 | aaaaaa精品视频在线观看 | 男人桶女人暴爽的视频 | 男性吸女下身的视频 | 亚洲国产精品成人精品软件 | 亚洲一区浅井舞香在线播放 | 视频二区 中文字幕 欧美 | 亚洲精品高清国产一线久久97 | 欧美高清一级啪啪毛片 | 欧美1 | 午夜宅男在线永久免费观看网 | 国产xvideos国产在线 | 一级片免费观看视频 | 国产青草 | 大香伊蕉国产短视频69 | 国产在线观看免费一级 | 久久这里只有精品免费视频 | 欧美一级毛片生活片 | 黑人一级片 | 午夜成年女人毛片免费观看 |