gpt4 book ai didi

javascript - 使用 props 访问纯文本或数组中的对象路径

转载 作者:行者123 更新时间:2023-12-04 00:39:46 25 4
gpt4 key购买 nike

考虑下面的对象和存储在对象中的值的路径:

var obj = { a: 1, b: { a: { x: 2 }, b: 3 }, c: 4 }
var path = ["b", "a", "x"];

获取对象路径中内容的最佳方式(最佳性能)是什么?

使用 eval()

path = ["obj"].concat(path);
var value = eval(path.join("."));

循环

var _obj = obj;
for(key in path) {
_obj = _obj[path[key]];
}
var value = _obj;

有没有其他更好的方法来存储和查询复杂的对象?

最佳答案

您可以采用路径并使用 Array#reduce为对象。

function getValue(object, path) {
return path.reduce(function (o, k) {
return (o || {})[k];
}, object);
}

var obj = { a: 1, b: { a: { x: 2 }, b: 3 }, c: 4 }
path = ["b", "a", "x"];

console.log(getValue(obj, path));

关于javascript - 使用 props 访问纯文本或数组中的对象路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42459905/

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