如何将字符串解析为javascript对象选择器

how to parse string to javascript object selector

本文关键字:javascript 对象 选择器 字符串      更新时间:2023-09-26

我想将字符串解析为对象对象选择器,如下所示:

var test = 'object.prop1.prop2';
into 
object['prop1']['prop2'];

问题是我不知道这个字符串可以有多少个属性。

在没有json-parse/eval之类的东西的情况下,解析字符串accross的最佳方法是什么?

有一个软件包:https://www.npmjs.com/package/object-path

Juhana的链接很好,但也比这里的问题更复杂。这是我的看法(https://jsfiddle.net/gm32f6fp/3/):

var object = {
    prop1: {
        prop2: {
            foo: 1
        }
    }
};
function get(object, key) {
    var keys = key.split('.');
    for (var i = 0; i < keys.length; i++) {
        if (!object.hasOwnProperty(keys[i])) {
            return null;
        }
        object = object[keys[i]];
    }
    return object;
}
console.log(get(object, 'prop1.prop2'));
console.log(get(object, 'prop1.prop3'));

这个想法是取一串键,根据点将其拆分。然后你有一个任意大的键数组,所以我们一个接一个地获取每个键,并深入到对象中。(如果我们最终陷入死胡同,我们就会退出。(