如何在二维数组中添加匹配项?

时间:2015-04-23 09:05:27

标签: javascript

我有找到相同数字的功能:

var arr = [0, 0, 4, 8, 8, 10, 45, 0, 23, 3 ,8];
arr.filter(function (item, index, array) {    
    return array.indexOf(item) !== array.lastIndexOf(item); // [0, 0, 8, 8, 0, 8]
});

但是,我需要为各个匹配创建二维数组。

因此,结果应为:[[0, 0, 0], [8, 8, 8]]

2 个答案:

答案 0 :(得分:0)

uniqueCount =[0, 0, 4, 8, 8, 10, 45, 0, 23, 3 ,8];

var  count = {}; 
var twoDimArray = [];
uniqueCount.forEach(function(i) { count[i] = (count[i]||0)+1;  });
for(key in count){
    var array = [];
    for (i=0; i<count[key]; i++){
        array.push(key);
    }
    twoDimArray.push(array);
}
alert(twoDimArray);
//alert(JSON.stringify(count));  

<强> Demo

答案 1 :(得分:0)

var API = (function() {
    var getAsistencias = function(idEdicion, periodo,callback) {

        AUI().use('aui-io-request', function(A) {
            A.io.request('myapiaddress', {
                method : 'post',
                dataType : 'json',
                data : {
                    _mypackage_WAR_myportlet_periodo : periodo,
                    idEdicion : idEdicion
                },
                on : {
                    success : function() {
                        data = this.get('responseData');
                        callback(data);
                    }
                }
            });
        });
    };
    return {
      getAsistencias:getAsistencias
    };
})();
API.getAsistencias(id,periodo,function(data){
 Console.log(data);
 //Do something here
});

你的结果是在结果中。