美文网首页
数组去重

数组去重

作者: Wo信你个鬼 | 来源:发表于2019-02-27 11:47 被阅读0次
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
定义一个函数,能在数组 arr[1, 2, 3, 4, 2] 的 "2"后面添加元素 "Melon"。不要直接修改数组 arr,结果返回新的数组

            var arr = [1,2,3,4,2];
            function two(arr){
                var newArr = [].concat(arr);
                for(var i = 0;i<newArr.length;i++){
                    if (newArr[i]==2) {
                        newArr.splice(i+1,0,'Melon');
                    }
                }
                return newArr;
            }
            console.log(two(arr))

统计数组 arr[1, 2, 3, 4, 2] 中2出现的次数

     
            var arr = [1, 2, 3, 4, 2];
            function three(arr){
                var count = 0;
                arr.forEach(function(val){
                    if (val == 2) {
                        count++;
                    }
                })
                return count;
            }
            console.log(three(arr))

数组去重:方法1 → 返回 ["melon", 2, 4]

            var arr = [1, 2, 3, "melon", 4, "melon", 2, 4, "melon"];
            //中重复出现过的元素2
            function four(arr){
                var res = arr.filter(function(val,index){
                    //第一个出现元素的下标值用变量num存起来
                    //那么下的没有下标值存起来的元素就是重复的元素
                    var num = arr.indexOf(val);
//                  console.log(arr.indexOf(val));
                    return num!=index;
                })
                //对提取到的数组去重
                res.forEach(function(val,index){
                    var num = res.indexOf(val);
                    if (num!=index) {
                        res.splice(index,1)
                    }
                })
                return res;
            }
            console.log(four(arr))

数组去重: 方法2 → 返回 [2, 4, "melon"]

 var arr = [1, 2, 3, "melon", 4, "melon", 2, 4, "melon"];
            function four2(arr){
                var res = [];
                arr.sort().sort(function(a,b){
                    //a==b:用来提取重复过的元素
                    //res.indexOf(a)===-1;用来去重
                    if(a==b&&res.indexOf(a)===-1){
                        res.push(a);
                    }
                })
                return res;
            }
            console.log(four2(arr))
            

数组去重: 方法3 → 返回 [2, 4, "melon"]

function four3(arr){
                var newArr = [];
                arr.forEach(function(val,index){
                    if (arr.indexOf(val) != arr.lastIndexOf(val)&&newArr.indexOf(val) == -1) {
                        newArr.push(val);
                    }
                })
                return newArr;
            }
            console.log(four3(arr))

数组去重: 返回一个 [2, 5, 8, 9, 7]

            var arr1 = [2,5,8,2,9,7,8];
            function err(arr){
                var res= [];
                for(var i =0 ; i<arr.length;i++){
                    if (res.indexOf(arr[i]) == -1) {
                        res.push(arr[i])
                    }
                }
                return res;
            }
            console.log(err(arr1));
         </script>
    </body>
</html>

相关文章

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 实现数组去重有哪些方式

    简单的数组去重 数组对象去重

  • 数组去重的四种方法

    利用双for循环去重 利用对象数组去重 利用对象数组去重并且记录重复次数 通过创建一个新数组进行数组去重

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

  • javascript数组去重,数组对象去重

    利用Reduce去重 function unique(arr) {var obj = {};arr = arr.r...

  • js:数组去重

    数组去重的常见写法: 数组去重封装成方法: es6的数组去重(Array.from):

  • ES6数组去重

    普通数组去重 方法1 方法2 对象数组去重

  • js reduce去重用法

    reduce不仅仅可以数据累加,还可以实现去重效果。 重复次数计算 数组去重 数组对象去重,转为数组 对象去重

  • 数组去重

    传统方法 ES6 扩展 传统方法 最后再写到 Array.prototype 原型中

  • 数组去重

    老题了。。虽然网上一搜一大堆,还是自己想了想,自己动笔写了几种。

网友评论

      本文标题:数组去重

      本文链接:https://www.haomeiwen.com/subject/ugmxuqtx.html