Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按数组的数组分组_Javascript_Arrays - Fatal编程技术网

Javascript 按数组的数组分组

Javascript 按数组的数组分组,javascript,arrays,Javascript,Arrays,我有一个数组,当前按如下方式分组: { data: [ListingModel, ListingModel, ListingModel, ListingModel, ListingModel, ListingModel] }; { groupedData: [ [ListingModel, ListingModel], [ListingModel, ListingModel], [ListingModel, ListingModel] ] }; 我希望它按

我有一个数组,当前按如下方式分组:

{
  data: [ListingModel, ListingModel, ListingModel, ListingModel, ListingModel, ListingModel]
};
{
  groupedData: [
    [ListingModel, ListingModel],
    [ListingModel, ListingModel],
    [ListingModel, ListingModel]
  ]
};
我希望它按如下方式分组:

{
  data: [ListingModel, ListingModel, ListingModel, ListingModel, ListingModel, ListingModel]
};
{
  groupedData: [
    [ListingModel, ListingModel],
    [ListingModel, ListingModel],
    [ListingModel, ListingModel]
  ]
};

只需一次循环输入2,并为每对创建一个新数组。然后将此新数组添加到整个结果数组中

var groupedData = [];

for(var i = 0; i < data.length; i+=2){
    groupedData.push([data[i], data[i+1]]);
}
var groupedData=[];
对于(变量i=0;i
如果元素数为奇数,则可能需要添加验证

,在本例中,我只是将字符串用于
ListingModel
,因为您在问题中没有定义它。

var group_data=[];
var group_data = [];

for (var i = 0; i < data.length; i+=2)
{
    var arr = [];
    arr.push(data[i]);
    if ( (i + 1) < data.length)
    {
        arr.push(data[i + 1]);
    }

    group_data.push(arr); //push to main array
}
对于(变量i=0;i
如果我理解你的问题,试试这个

var数据=[1,2,3,4,5];
var结果=[];
对于(变量i=0,len=data.length/2;i控制台日志(结果)//输出:[[1,2],[3,4],[5]]
u请参见将关联数组从单个数组更改为单个数组

var data=['ListingModel', 'ListingModel2', 'ListingModel3',   'ListingModel4',' ListingModel5', 'ListingModel6'];
var new_arr = new Array();
for(var i in data){        
if(i < 3){      
    new_arr[i] = [data[i*2],data[i*2+1]];            
}
}
console.log(new_arr); 
var数据=['ListingModel'、'ListingModel2'、'ListingModel3'、'ListingModel4'、'ListingModel5'、'ListingModel6'];
var new_arr=新数组();
对于(数据中的变量i){
如果(i<3){
新的_arr[i]=[数据[i*2],数据[i*2+1];
}
}
控制台日志(新建);

那么你的意思是把它们配对?你自己试过什么吗?请包括如果lodash会这样做,然后检查功能您如何决定哪些对象在一起/配对?请在下面的下划线中填写答案,请您让您的朋友也投票支持我的答案,非常感谢:)不要参考其他答案。在这种情况下,你的答案有点多余,因为你承认已经有一个与你的答案非常相似的答案,那么为什么还要麻烦发布你的答案呢?谢谢你的建议,@musefan。我没有抄别人的答案。我试图找到最佳的方法(更快的方法)。