gpt4 book ai didi

javascript - 查询 Javascript 对象(图表)

转载 作者:行者123 更新时间:2023-11-30 07:45:57 24 4
gpt4 key购买 nike

我想在 Javascript 对象中搜索特定的键和值。前任。

var obj = { zulu: { a: 3, b: "b3", d: true } };

查明 obj 是否包含键 a 和值 3。该对象具有嵌套对象和嵌套对象数组,a: 3 可以在对象图中的任何位置和多个位置。

所以我不能简单测试:if (zulu.a == 3) 因为 a 可以在对象图中的多个位置。

我认为 linq.js 看起来很有前途,但是在查询对象时它似乎并没有下降到嵌套对象中。也就是说,我是 linq 的新手,可能遗漏了一些东西。

我可以(并且已经)编写代码来迭代一个对象图来处理这个问题,但是我想找到一个像 linq 这样的通用库,它可以让我对任何 JS 对象执行临时查询。

最佳答案

我是 linq.js 的创造者。 http://linqjs.codeplex.com/

也许您可以使用遍历嵌套图的“CascadeDepthFirst”。

var obj = { zulu: { a: 3, b: "b3", d: true } };
var query = Enumerable.From(obj)
.CascadeDepthFirst(function (kvp)
{
return (kvp.Value instanceof Object) ? kvp.Value : []
});

// query.ToArray() is
[0] = {Key: "zulu", Value: { a: 3, b: "b3", d: true }}
[1] = {Key: "a", Value: 3}
[2] = {Key: "b", Value: "b3"}
[3] = {Key: "d", Value: true}

// arrangement
var exists = query.Any("$.Key == 'a' && $.Value == '3'");

关于javascript - 查询 Javascript 对象(图表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com