使用字符串选择器设置javascript属性

Set javascript property using string selector

本文关键字:javascript 属性 设置 选择器 字符串      更新时间:2023-09-26

我想使用字符串选择器设置对象属性。我有一个字符串model.name和一个对象来存储值。我不想将值存储在object[model.name]中,而是想将其存储在object[model][name]中。

如何与javascript/jQuery或javascript/jQuery插件一起发布?

function setObjectPathValue(source, path, value) {
    var parts = path.split('.'), len = parts.length, target = source;
    for (var i = 0, part; i < len - 1; i++) {
        part = parts[i];
        target = target[part] == undefined ? (target[part] = {}) : target[part];
    }
    target[parts[len - 1]] = value;
    return target;
}
var obj = {};
setObjectPathValue(obj, "level1.level2.level3.name", "test");
alert(obj.level1.level2.level3.name);