JavaScript 將數組中具有相同值的對象 取出組成新的數組


var arr=[{name:2,id:3},{name:2,id:4},{name:3,id:5},{name:3,id:6},{name:1,id:1},{name:1,id:2}];

// 傳入一個數組
// 按照特定方式格式化
function sortArr(arr, str) {
    var _arr = [],
        _t = [],
        // 臨時的變量
        _tmp;

    // 按照特定的參數將數組排序將具有相同值得排在一起
    arr = arr.sort(function(a, b) {
        var s = a[str],
            t = b[str];

        return s < t ? -1 : 1;
    });

    if ( arr.length ){
        _tmp = arr[0][str];
    }
    // console.log( arr );
    // 將相同類別的對象添加到統一個數組
    for (var i in arr) {
        console.log( _tmp);
        if ( arr[i][str] === _tmp ){
            console.log(_tmp)
            _t.push( arr[i] );
        } else {
            _tmp = arr[i][str];
            _arr.push( _t );
            _t = [arr[i]];
        }
    }
    // 將最后的內容推出新數組
    _arr.push( _t );
    return _arr;
}

sortArr( arr, 'name');

  轉載自 https://www.cnblogs.com/whyue/p/8143049.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM