zoukankan      html  css  js  c++  java
  • JS 数组去重

    /* 根据数组中的字段去重 */
    var arr = [
        {"id":"1001","name":"值1","value":"123"},
        {"id":"1001","name":"值1","value":"456"},
        {"id":"1002","name":"值2","value":"789"},
        {"id":"1002","name":"值2","value":"753"},
        {"id":"1002","name":"值2","value":"951"},
        {"id":"1003","name":"值3","value":"852"},
        {"id":"1003","name":"值3","value":"654"}
    ];
    
     function arrayUnique(arr, id) {
         var hash = {};
         return arr.reduce(function (item, next) {
                hash[next[id]] ? '' : hash[next[id]] = true && item.push(next);
                    return item;
                }, []);
         }
    
    console.log(arrayUnique(arr,'id'))
     
    /* 数组去重方法一 */
    var removeDuplicates = function(nums) {
        nums = nums.sort();
        function loop(nums){
            for(var i=1;i<=nums.length;i++){
                if(nums[i] === nums[i-1]){
                    nums.splice(i,1);
                    loop(nums);
                    return;
                }
            }
        }
        loop(nums);
        return nums;
    };
    
    console.log(removeDuplicates([1,1,2,2,3]));
    console.log(removeDuplicates([0,0,1,1,1,2,2,3,3,4]));
    /* 数组去重方法二 */ var removeDuplicates1 = function(nums) { var set = new Set(); for(var i =0;i<nums.length;i++){ set.add(nums[i]); } return [...set]; } console.log(removeDuplicates1([1,1,2,2,3])); console.log(removeDuplicates1([0,0,1,1,1,2,2,3,3,4]));

    /* 数组去重方法三 */
    [0,0,1,1,1,2,2,3,3,4].reduce((curr, next) => curr.indexOf(next) === -1 ? curr.concat(next) : curr, []);


    /*数组去重方法四*/
    [...new Set([1,2,2,3,3])]
  • 相关阅读:
    简单的排序算法总结
    Android Stuido 方法参数 p0,p1
    年与酒
    Android-自定义View前传-View的三大流程-Layout
    Android自定义View前传-View的三大流程-Measure
    寻找积极
    括号配对问题
    Wan Android 项目总结
    涂鸦之作WanAndroid第三方APP
    CSS-定位(Position)
  • 原文地址:https://www.cnblogs.com/minjh/p/9212341.html
Copyright © 2011-2022 走看看