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。我没有抄别人的答案。我试图找到最佳的方法(更快的方法)。