将数据复制到对象的嵌套数组中

啦啦

伙计们,我不怎么给这个话题。我无法将数据从Object数组复制到另一个新创建的数组。

例如,我要复制并创建一个新数据库array,其中包含数据库中每个人的所有动物类别。

 people = [ 
     {
         name: "Person 1",
         animals: [
             { category: "cat" },
             { category: "dog" },
             { category: "fish" }
         ]
     },
     {
         name: "Person 2",
         animals: [
             { category: "dog" },
             { category: "iguana" }
         ]
     },
     {
         name: "Person 3",
         animals: [
             { category: "cat" }
         ]
     }
 ]

因此,我创建了一个新array名称animalCategory来容纳每个可用类别。

 // declare new array to hold category of animals
 let animalCategory = []

这是我想出的逻辑:

// loop all person available
people.forEach(person => {
    // go and loop inside animals array
    person.animals.forEach(animal => {
        // save new category of animals if animalCategory array is EMPTY
        if(animalCategory.length === 0) {
            animalCategory.push(animal.category)
        }

        // if NOT EMPTY, then
        else {
            // loop and check existing animal categories in animalCategory array
            animalCategory.forEach(category => {
                // check if MATCH?
                if(category === animal.category) {
                    break // or just continue or will NOT BE SAVE
                }

                // if NOT MATCH, then
                else {
                    // SAVE new category
                    animalCategory.push(animal.category)
                }
            })
        }
    })
})

// see result
console.log(animalCategory.length)

但是不幸的是animalCategory,结果我得到了很多以及很多重复性的动物类别。(如下图所示)

在此处输入图片说明

UPDATED:我要查找的输出是:-

animalCategory: [ 'cat', 'dog', 'iguana', 'fish']

那我该如何改变我的逻辑呢?还有其他方法可以做到吗?

瓦巴夫·加蒂塔尼(Vaibhav Gattyani)

people = [ 
     {
         name: "Person 1",
         animals: [
             { category: "cat" },
             { category: "dog" },
             { category: "fish" }
         ]
     },
     {
         name: "Person 2",
         animals: [
             { category: "dog" },
             { category: "iguana" }
         ]
     },
     {
         name: "Person 3",
         animals: [
             { category: "cat" }
         ]
     }
 ]

// declare new array to hold category of animals
 let animalCategory = []


// loop all person available
people.forEach(person => {
    // go and loop inside animals array
    person.animals.forEach(animal => {
        // save new category of animals if animalCategory array is EMPTY
        if(animalCategory.length === 0) {
            animalCategory.push(animal.category)
        }

        // if NOT EMPTY, then
        else {
            if(animalCategory.indexOf(animal.category) === -1) {
            
            animalCategory.push(animal.category);
            }
        }
    });
});

// see result
animalCategory.forEach(function(animal) {
    console.log(animal);
});

希望这对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将ArrayList的数据复制到数组中

来自分类Dev

将json从对象复制到数组?

来自分类Dev

将json从对象复制到数组?

来自分类Dev

如何将数组数据复制到具有数组和字段的对象?

来自分类Dev

如何将数组数据复制到具有数组和字段的对象?

来自分类Dev

当我将数据从hashMap对象复制到数组时,我的数组都包含“零”

来自分类Dev

将数组复制到具有角度的对象中的对象

来自分类Dev

将数据从对象列表复制到C#中的其他对象

来自分类Dev

将JavaScript对象值复制到javascript中的关联数组中

来自分类Dev

对象json中的嵌套数组到csv

来自分类Dev

对象中的嵌套数组

来自分类Dev

AngularJS在嵌套数组中插入数据并使用特定的嵌套数组对象进行排序

来自分类Dev

将json对象复制到javascript数组

来自分类Dev

将数据从csv复制到D3中的数组中

来自分类Dev

将char数组复制到字符指针数组中

来自分类Dev

将数组复制到Java中的新数组

来自分类Dev

Visio,将形状数据复制到其他对象

来自分类Dev

使用Go访问嵌套数组和对象中的数据

来自分类Dev

在 javascript 中,如何从 json 数据创建嵌套数组或对象?

来自分类Dev

通过循环将数据复制到整数指针数组?

来自分类Dev

VBA:将数据复制到现有列表对象中

来自分类Dev

将Ruby中嵌套数组中的数据分组

来自分类Dev

使用for / in将对象属性复制到数组中

来自分类Dev

整数未复制到对象中的数组

来自分类Dev

将更改的字段复制到Java中的对象中

来自分类Dev

将数据复制到表A中并复制到表B中(是Identity ==是)

来自分类Dev

将结构复制到C ++中的数组中

来自分类Dev

在python中复制嵌套数组

来自分类Dev

将数据插入MongoDB中的嵌套数组

Related 相关文章

热门标签

归档