Javascript 将两个数组分组

Javascript 将两个数组分组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组“animalTypes”[dog,dog,cat,cat],它的内容会动态变化(但总是以这种分组方式),同时还有另一个大小相同的数组,[K9,hound,波斯语,暹罗语,sphinx],它是在相同的输入上获得的,但在属性“brides”中,并且总是与“动物类型” 所以我得到了这些var容器 var animal = {}; animal["type"] = []; 我如何迭代数组,以便我们以这种方式填充animal[“type”]: { type : dog

我有一个数组“animalTypes”
[dog,dog,cat,cat]
,它的内容会动态变化(但总是以这种分组方式),同时还有另一个大小相同的数组,
[K9,hound,波斯语,暹罗语,sphinx]
,它是在相同的输入上获得的,但在属性“brides”中,并且总是与“动物类型”

所以我得到了这些var容器

var animal = {};
animal["type"] = [];
我如何迭代数组,以便我们以这种方式填充animal[“type”]:

{
    type    : dog
    breeds  : K9, hound
},
{
    type    : cat
    breeds  : persian, siamese, sphinx
}`
到目前为止,我已经成功地迭代了这两个数组,但是我需要按照上面的方法进行分组

var animalTypesChecked = $('input[name="animalTypes"]:checked');
var animalTypesCheckedContainer = [];

$.each(animalTypesChecked, function(index,value){
    animalTypesCheckedContainer.push($(this).val());
});

var animalBreedsOfChecked = $('input[name="animalTypes"]:checked');
var animalBreedsOfCheckedcontainer = [];

$.each(animalBreedsOfChecked, function(){
    animalBreedsOfCheckedcontainer.push($(this).eq($(this).index()).attr('breeds'));
});
这就是我正在做的:

for(){
    animal.type.push({
        type : <animalType here>, 
        breeds : <animal breed here>
    });
}
(){ 动物型推力器({ 类型:, 品种: }); }
您可以在遍历复选框时构建所需的对象:

$(“按钮”)。单击(函数(){
//首先创建由类型设置关键帧的对象,这些类型将数组作为值
var breedsByType={};
$('input[name=“animalTypes”]:选中')。每个(函数(){
var type=$(this.val();
BreedByType[类型]=BreedByType[类型]| |[];
breedsByType[type].push($(this.attr('brides'));
});
//将该对象转换为对象数组:
var结果=$.map(繁殖类型,函数(品种,类型){
返回{
类型:类型,
品种:品种
};
});
控制台日志(结果);
});

狗-K9
猎狗
猫-波斯语
猫-暹罗猫
猫狮身人面像

转到
您可以在遍历复选框时构建所需的对象:

$(“按钮”)。单击(函数(){
//首先创建由类型设置关键帧的对象,这些类型将数组作为值
var breedsByType={};
$('input[name=“animalTypes”]:选中')。每个(函数(){
var type=$(this.val();
BreedByType[类型]=BreedByType[类型]| |[];
breedsByType[type].push($(this.attr('brides'));
});
//将该对象转换为对象数组:
var结果=$.map(繁殖类型,函数(品种,类型){
返回{
类型:类型,
品种:品种
};
});
控制台日志(结果);
});

狗-K9
猎狗
猫-波斯语
猫-暹罗猫
猫狮身人面像

Go
请显示相关HTML。
$(this).eq($(this).index())
没有多大意义。请显示相关HTML。
$(this).eq($(this).index())
没有多大意义。