gpt4 book ai didi

javascript - 使用 jQuery 遍历嵌套对象

转载 作者:搜寻专家 更新时间:2023-11-01 04:46:02 24 4
gpt4 key购买 nike

大家好,我正在尝试找到最动态的方法来遍历数组并返回特定值返回特定值...json 结构很深,可能会发生变化,是否可以有一个 $.each() 公式可以帮助?

例子:

var myobj = {
obj1: { key1: 'val1', key2: 'val2' },
obj2: { key1: '2val1',
key2: { nest1: 'val1', nest2: 'val2', nest3: 'val3' },
key3: { nest1: 'K3val1', nest2: 'K3val2',
nest3: [
{ nest1: 'val1', nest2: 'val2', nest3: 'val3' },
{ nest1: 'val1', nest2: 'val2', nest3: 'val3' }
]
}
},
obj3: { key1: 'dddddval1', key2: 'val2' }
}

现在假设我想检索“K3val2”值,而不是像这样对其进行硬编码:myobj.obj2.key3.nest2 有一种动态的方式吗这与 $.each() mybe?

最佳答案

您可以简单地嵌套调用 $.each :

Live Example | Live Source

// Loop the top level
$.each(myobj, walker);

function walker(key, value) {
// ...do what you like with `key` and `value`

if (value !== null && typeof value === "object") {
// Recurse into children
$.each(value, walker);
}
}

如果你想知道自己有多深,你也可以这样做:

Live Example | Live Source

var path = "";

// Loop the top level
$.each(myobj, walker);

function walker(key, value) {
var savepath = path;

path = path ? (path + "." + key) : key;

// ...do what you like with `key` and `value`

if (value !== null && typeof value === "object") {
// Recurse into children
$.each(value, walker);
}

path = savepath;
}

关于javascript - 使用 jQuery 遍历嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17546739/

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