首页 > 其他分享 >js数组去重

js数组去重

时间:2023-07-17 15:38:03浏览次数:31  
标签:arr const NaN len js let result 数组

const arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}]
1、indexof

function unique(arr){
    const result=[]
    for(let i=0,len=arr.length;i<len;i++){
        if(result.indexOf(arr[i])===-1){
            result.push(arr[i])
        }
    }
    return result
}
console.log(unique(arr));


NaN {}没有被去重
2、sort()

const unique=(arr)=>{
    arr=arr.sort()
    const result=[arr[0]]
    for(let i=1,len=arr.length;i<len;i++){
        if(arr[i]!==arr[i-1]){
            result.push(arr[i])
        }
    }
    return result
}
console.log(unique(arr));


NaN、{}没有去重
3、includes

const unique=(arr)=>{
    const result=[]
    for(let i=0,len=arr.length;i<len;i++){
        if(!result.includes(arr[i])){
            result.push(arr[i])
        }
    }
    return result
}
console.log(unique(arr));


{}没有去重
4、Map去重

const unique=(arr)=>{
    const map=new Map()
    const result=[]
    for(let i=0,len=arr.length;i<len;i++){
        if(map.has(arr[i])){
            map.set(arr[i],true)
        }else{
            map.set(arr[i],false)
            result.push(arr[i])
        }
    }
    return result
}
console.log(unique(arr));

5、Set去重

[...new Set(arr)] 

标签:arr,const,NaN,len,js,let,result,数组
From: https://www.cnblogs.com/772330747wh/p/17560141.html

相关文章

  • js 根据声音绘制声音图
    js获取麦克风,根据声音大小绘制图形  条状图//麦克风测试showaudiotset(){letthat=this;//setInfo.mikeId当前麦克风设备idletcuraudio=that.mikeArr.filter((v)=>v.deviceId==that.setInfo.mikeId)[0];//老的浏览器......
  • Reactjs学习笔记
    本篇是关于React的简介ReactJS是Facebook推出的一款前端框架,2013年开源,提供了一种函数式编程思想,拥有比较健全的文档和完善的社区,在React16的版本中对算法进行了革新,称之为ReactFiber。开发环境搭建需要nodeJS解析器,以及npm(node的包管理工具)如何引用React1.使用.js来引入......
  • MySQL中对JSON数据操作(较全)
    MySQL对JSON数据操作链接:(160条消息)【MySQL】对JSON数据操作(全网最全)_mysqljson_0世界和平0的博客-CSDN博客创建json格式字段CREATETABLE`dept`(`id`int(11)NOTNULL,`dept`varchar(255)DEFAULTNULL,`json_value`jsonDEFAULTNULL,PRIMARYKEY(`id......
  • 直播app开发搭建,JS生成随机数,生成指定位数的随机数
    直播app开发搭建,JS生成随机数,生成指定位数的随机数//获取随机数,小数第一位可能为0console.log(Math.random()); //获取10位随机数,如果小数第一位为0则只有9位数console.log(Math.floor(Math.random()*Math.pow(10,10))); //随机数+1,解决小数第一位为0的情况//但是会导致随机......
  • java怎么将json数组设置编码格式
    项目方案:JavaJSON数组编码格式设置1.项目背景和目标本项目旨在探讨如何使用Java编程语言将JSON数组设置为指定的编码格式。JSON(JavaScriptObjectNotation)是一种常用的数据交换格式,它使用文本格式来表示数据,易于人类阅读和编写,同时也易于机器解析和生成。在实际项目中,我们经常......
  • js复制网页上的内容到剪切板
    js复制网页上的内容到剪切板2023-07-17测试,原来的代码已经没用了,现用下面的代码,在firefox和edge上测试成功functionaaa(){vartxt=$('#hfDesc').val();navigator.clipboard.writeText(txt).then(()=>{......
  • Vue3 遍历显示Json数组
    在Vue项目中遍历显示Json数组以列表的形式显示的页面上 main.js全局json对象//全局jsonconstglobalData=reactive({extTelTalkData:[{userExten:"1000",userName:"刘亦菲",callStatus:"通话"},......
  • NO35、数组中的逆排序(建议再刷)
    35、数组中的逆排序很好的题目,建议再刷在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范......
  • 复杂数据回显 返回json 字符串转换成单选
     <el-table        :data="tableData"        border        style="width:882px;margin-left:8px;">        <el-table-column        prop="label"        label="......
  • js 数组join,内容用序号连接
    要将数组内容用序号连接,你可以使用JavaScript的`Array.prototype.map()`方法和`Array.prototype.join()`方法来实现。下面是一个示例代码:```javascriptconstarr=["apple","banana","orange"];constjoinedString=arr.map((item,index)=>`${index+1}.${item}`)......