欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java數(shù)組的去重

 更新時(shí)間:2021年10月29日 15:53:06   作者:啊政1234  
這篇文章主要介紹了Java數(shù)組去重,結(jié)合實(shí)例形式分析了Java針對(duì)數(shù)組的去重,需要的朋友可以參考下,希望能夠給你帶來幫助

數(shù)組去重的場(chǎng)景

將數(shù)組var arr =[1,1,‘true',‘true',true,true,66,66,false,false,undefined,undefined, null,null, NaN, NaN, 0, 0, ‘a(chǎn)', ‘a(chǎn)',{},{}]中重復(fù)的值過濾掉

1、ES6-set

使用ES6中的set是最簡(jiǎn)單的去重方法

<script>
   var arr=[1,2,3,4,1,2,3]
   //先將數(shù)組轉(zhuǎn)換為set
   var set=new Set(arr) 
   //再將set轉(zhuǎn)換為數(shù)組
   console.log(Array.from(set))
</script>

2、利用Map數(shù)據(jù)結(jié)構(gòu)去重

創(chuàng)建一個(gè)空Map數(shù)據(jù)結(jié)構(gòu),遍歷需要去重的數(shù)組,把數(shù)組的每一個(gè)元素作為key存到Map中。由于Map中不會(huì)出現(xiàn)相同的key值,所以最終得到的就是去重后的結(jié)果

function shuzu(arr) {
  let map = new Map();
  let array = new Array();  // 數(shù)組用于返回結(jié)果
  for (let i = 0; i < arr.length; i++) {
    if(map .has(arr[i])) {  // 如果有該key值
      map .set(arr[i], true);
    } else {
      map .set(arr[i], false);   // 如果沒有該key值
      array .push(arr[i]);
    }
  }
  return array ;
}

3、 嵌套循環(huán)+splice

function shuzu(arr){
for(var i = 0 ; i < arr.length; i++){
for( var j = i + 1; j < arr.length; j++){
if( arr[i] === arr[j] ){
arr.splice(j,1);
}
}
}
return arr;
}

4、 forEach + indexOf

function shuzu(arr){
var res = [];
arr.forEach((val,index)=>{
if( res.indexOf(val) === -1 ){
res.push(val);
}
});
return res;
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • SpringBoot接入釘釘自定義機(jī)器人預(yù)警通知

    SpringBoot接入釘釘自定義機(jī)器人預(yù)警通知

    本文主要介紹了SpringBoot接入釘釘自定義機(jī)器人預(yù)警通知,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 如何解決Maven出現(xiàn)Could not find artifact的問題

    如何解決Maven出現(xiàn)Could not find artifact的問題

    這篇文章主要介紹了如何解決Maven出現(xiàn)Could not find artifact的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • springmvc與mybatis集成配置實(shí)例詳解

    springmvc與mybatis集成配置實(shí)例詳解

    這篇文章主要介紹了springmvc與mybatis集成配置實(shí)例詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • 小程序與后端Java接口交互實(shí)現(xiàn)HelloWorld入門

    小程序與后端Java接口交互實(shí)現(xiàn)HelloWorld入門

    本文主要介紹了小程序與后端Java接口交互實(shí)現(xiàn)HelloWorld入門 ,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • SpringBoot2底層注解@Configuration配置類詳解

    SpringBoot2底層注解@Configuration配置類詳解

    這篇文章主要為大家介紹了SpringBoot2底層注解@Configuration配置類詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 詳解Java冒泡排序

    詳解Java冒泡排序

    本篇文章通過代碼實(shí)例給大家詳細(xì)分析了Java冒泡排序的原理,有興趣的朋友可以學(xué)習(xí)下。
    2018-02-02
  • SpringBoot yml配置文件調(diào)用過程解析

    SpringBoot yml配置文件調(diào)用過程解析

    這篇文章主要介紹了SpringBoot yml配置文件調(diào)用過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot整合RabbitMQ實(shí)現(xiàn)RPC遠(yuǎn)程調(diào)用功能

    SpringBoot整合RabbitMQ實(shí)現(xiàn)RPC遠(yuǎn)程調(diào)用功能

    在分布式系統(tǒng)中,RPC(Remote?Procedure?Call)是一種常用的通信機(jī)制,它可以讓不同的節(jié)點(diǎn)之間像調(diào)用本地函數(shù)一樣進(jìn)行函數(shù)調(diào)用,隱藏了底層的網(wǎng)絡(luò)通信細(xì)節(jié),通過本教程,你可以了解RPC的基本原理以及如何使用Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的RPC客戶端和服務(wù)端
    2023-06-06
  • SpringMVC獲取HTTP中元素的實(shí)現(xiàn)示例

    SpringMVC獲取HTTP中元素的實(shí)現(xiàn)示例

    本文主要介紹了SpringMVC獲取HTTP中的元素,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Java mysql特殊形式的查詢語句詳解

    Java mysql特殊形式的查詢語句詳解

    這篇文章主要介紹了Java mysql特殊形式的查詢,包括子查詢和聯(lián)合查詢、自身連接查詢問題,本文通過sql語句給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02

最新評(píng)論