循环对象从输入中获取值并更改对象值

Loop object get value from input and change object value

提问人:usualuser 提问时间:9/17/2023 最后编辑:usualuser 更新时间:9/17/2023 访问量:39

问:

我有一个具有多个可变级别的多维对象。 对于每个值,对应一个输入,其名称采用格式(例如)。 我想遍历对象以获取输入的值并更新对象的值。par1-par1_1-c1-type

对象的一部分:

par1
    nc = 0
    par1_1
        c1
            type = ""
            date
                m = ""
                y = ""
        c2
            type = ""
            date
                m = ""
                y = ""
    par1_2
        c1 = ""
        c2 = ""
    par1_3
        c1 = ""
        c2 = ""

par2
    nc
    par2_1
        c1 = ""
        c2 = ""
    par2_2
        c1 = ""
        c2 = ""
    par2_3
        c1 = ""
        c2 = ""
    par2_4
        c1
            nc = ""
            list
                type = ""
                mtt = ""
        c2
            nc
            list
                type = ""
                mtt = ""

在提交时,我做:

var obj = {the example above};
function submit() {
    datasloop(obj,"");
}

function datasloop(arr, parname) {
    for(let name in arr) {
        let fullname;
        if(parname == undefined || parname == "") fullname = name;
        else fullname = parname+"-"+name;
        if(IsObject(arr[name])) {
            datasloop(arr[name],fullname);
        } else {
            var _i = _form.elements[fullname];
            if(_i) {
                console.log(fullname+" = "+_i.value);
            }
        }
    }
}

在控制台中,我想将此值放在对象中:。par1-par1_1-c1-type = thevalueobj['par1']['par1_1']['c1']['type' ] = thevalue

JavaScript 循环 对象 多维数组

评论


答: 暂无答案