gpt4 book ai didi

javascript - 如何循环遍历嵌套对象中的特定键?

转载 作者:行者123 更新时间:2023-12-02 17:04:09 24 4
gpt4 key购买 nike

我想从此对象中提取特定部分(绝对不是全部):

var metadata = {
cat: {
id: 'id',
name: 'kitty',

},
dog: {
id: 'id',
name: 'spot',
owner: {
name: 'ralph',
}
}
//tons of other stuff
};

我想做这样的事情:

var fields = ['cat.id', 'dog.name', 'dog.owner.name'];
fields.forEach( function(key) {
console.log(metadata[key]); //obv doesn't work
});

这是一个简化的场景,我尝试验证元数据中的特定字段。有没有直接的方法来做到这一点?

最佳答案

分割路径以提取各个键,然后使用化简器解析值,然后映射结果:

var path = function(obj, key) {
return key
.split('.')
.reduce(function(acc, k){return acc[k]}, obj)
}

var result = fields.map(path.bind(null, metadata))
//^ ['id', 'spot', 'ralph']

现在您可以根据需要将其注销:

result.forEach(console.log.bind(console))

关于javascript - 如何循环遍历嵌套对象中的特定键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25415436/

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