如何通过对象数组中的id查找对象?

安东尼·李

我有这个json文件:

var data = [{
    "id": 0,
    "parentId": null,
    "name": "Comapny",
    "children": [
        {
            "id": 1235,
            "parentId": 0,
            "name": "Experiences",
            "children": [
                {
                    "id": 3333,
                    "parentId": 154,
                    "name": "Lifestyle",
                    "children": []
                },
                {
                    "id": 319291392,
                    "parentId": 318767104,
                    "name": "Other Experiences",
                    "children": []
                }
            ]
        }
    ]
}];

我需要按ID查找对象。例如,如果需要查找ID为319291392的对象,则必须获取:

{"id": 319291392,"parentId": 318767104,"name": "Other Experiences","children": []}

我怎样才能做到这一点?

我尝试使用此功能:

function findId(obj, id) {
    if (obj.id == id) {
        return obj;
    }
    if (obj.children) {
        for (var i = 0; i < obj.children.length; i++) {
            var found = findId(obj.children[i], id);
            if (found) {
                return found;
            }
        }
    }
    return false;
}

但这不起作用,因为它是一个对象数组。

TJ人群

如果您的起点是一个数组,那么您要稍微反转一下逻辑,从数组而不是对象开始:

function findId(array, id) {
    var i, found, obj;

    for (i = 0; i < array.length; ++i) {
        obj = array[i];
        if (obj.id == id) {
            return obj;
        }
        if (obj.children) {
            found = findId(obj.children, id);
            if (found) {
                return found;
            }
        }
    }
    return false; // <= You might consider null or undefined here
}

然后

var result = findId(data, 319291392);

...用id319291392查找对象

现场例子

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过对象数组中的id查找对象?

来自分类Dev

如何在可能具有可变结构的JavaScript对象中通过ID查找对象?

来自分类Dev

如何使用lodash在嵌套的对象数组中查找对象?

来自分类Dev

在数组数组中按 id 查找对象的索引

来自分类Dev

通过嵌套数组中的match属性查找对象

来自分类Dev

jsoncpp。通过匹配值在数组中查找对象

来自分类Dev

NodeJS通过键的值在数组中查找对象

来自分类Dev

通过数组值在MongoDb中查找对象

来自分类Dev

在Firebase中通过其唯一ID查找对象

来自分类Dev

通过知道他的ID在JSON中查找对象

来自分类Dev

在数组Ramda中按ID查找对象

来自分类Dev

如何通过列表中的属性值获取/查找对象

来自分类Dev

猫鼬如何在数组中查找对象

来自分类Dev

如何查找对象数组的类型

来自分类Dev

在对象ID数组中查找对象ID使用Mongoose返回空数组

来自分类Dev

了解在数组中查找对象

来自分类Dev

在数组中查找对象

来自分类Dev

如何在仅具有“子”数组的一个已标识属性的数组中查找对象的ID

来自分类Dev

如何使用lodash在内部数组包含其他对象的数组中查找对象

来自分类Dev

在数组中查找对象,以找到ID匹配子字符串的对象

来自分类Dev

如何通过vue-router参数中的id查找对象,然后将其属性传递给vue中的模板

来自分类Dev

反向查找对象与数组

来自分类Dev

查找对象数组的索引

来自分类Dev

如何查找对象数组并仍然保留对象属性?

来自分类Dev

在对象数组中查找对象的索引

来自分类Dev

查找对象数组中对象键 VALUES 的频率

来自分类Dev

创建查询以在对象数组中查找对象

来自分类Dev

Python - 如何通过查找对象的属性来搜索存储在列表中的对象

来自分类Dev

TypeScript:如何在数组中查找对象并返回该特定对象?

Related 相关文章

  1. 1

    如何通过对象数组中的id查找对象?

  2. 2

    如何在可能具有可变结构的JavaScript对象中通过ID查找对象?

  3. 3

    如何使用lodash在嵌套的对象数组中查找对象?

  4. 4

    在数组数组中按 id 查找对象的索引

  5. 5

    通过嵌套数组中的match属性查找对象

  6. 6

    jsoncpp。通过匹配值在数组中查找对象

  7. 7

    NodeJS通过键的值在数组中查找对象

  8. 8

    通过数组值在MongoDb中查找对象

  9. 9

    在Firebase中通过其唯一ID查找对象

  10. 10

    通过知道他的ID在JSON中查找对象

  11. 11

    在数组Ramda中按ID查找对象

  12. 12

    如何通过列表中的属性值获取/查找对象

  13. 13

    猫鼬如何在数组中查找对象

  14. 14

    如何查找对象数组的类型

  15. 15

    在对象ID数组中查找对象ID使用Mongoose返回空数组

  16. 16

    了解在数组中查找对象

  17. 17

    在数组中查找对象

  18. 18

    如何在仅具有“子”数组的一个已标识属性的数组中查找对象的ID

  19. 19

    如何使用lodash在内部数组包含其他对象的数组中查找对象

  20. 20

    在数组中查找对象,以找到ID匹配子字符串的对象

  21. 21

    如何通过vue-router参数中的id查找对象,然后将其属性传递给vue中的模板

  22. 22

    反向查找对象与数组

  23. 23

    查找对象数组的索引

  24. 24

    如何查找对象数组并仍然保留对象属性?

  25. 25

    在对象数组中查找对象的索引

  26. 26

    查找对象数组中对象键 VALUES 的频率

  27. 27

    创建查询以在对象数组中查找对象

  28. 28

    Python - 如何通过查找对象的属性来搜索存储在列表中的对象

  29. 29

    TypeScript:如何在数组中查找对象并返回该特定对象?

热门标签

归档