将视图Web表单视图引擎格式中的字符串数组转换为javaScript对象

Convert an array of strings in the view Web Form View Engine format to javaScript Object

本文关键字:视图 转换 数组 javaScript 对象 字符串 表单 Web 引擎 格式      更新时间:2023-09-26

操作很简单,在javaScript中我需要一个内部对象。

我有字符串对象集合:

a[0] = {
name: 
"A[0].B[0].C[0].Property1"
value: "1"
}
a[1] = {
name: "A[0].B[0].C[0].Property2"
value: "1" }

a[2] = { 
name: "A[0].B[0].C[1].Property1"
value: "2"}

等等,大概有100个

我想有一个对象A,其数组为B's, ArraysCs,每个c具有其属性。如何把这个A[i].B[j].C[k].Property字符串集合变成一个javaScript对象。

有什么方法可以像吼叫一样吗?

var myObject = JSON.getObject(a);
console(myObject.A[0].B[0].C[0].Property1); //output the Property1

如果我理解这里的问题是示例代码

var a = [];
a[0] = {
    name:
    "A[0].B[0].C[0].Property1",
    value: "1"
}
a[1] = {
    name: "A[0].B[0].C[0].Property2",
    value: "1"
}
a[2] = {
    name: "A[0].B[0].C[1].Property1",
    value: "2"
}
function createObject(arr) {
    var _a = [];
    for (var i in arr) {
        var reg = /A'[('d+)']'.B'[('d+)']'.C'[('d+)']'.('w+)/g;
        var it = reg.exec(arr[i].name);
        if (it) {
            var b = _a[it[1]];
            if (!b)
                b = _a[it[1]] = [];
            var c = b[it[2]];
            if (!c)
                c = b[it[2]] = [];
            var p = c[it[3]];
            if (!p)
                p = c[it[3]] = {};
            p[it[4]] = it[4];
        }
    }
    return _a;
}
console.log(createObject(a));