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

标签 javascript jquery arrays json

操作很简单,我需要一个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的数组和CsArrays以及每个 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));

关于javascript - 将 View Web 表单 View 引擎格式中的字符串数组转换为 javaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30599635/

相关文章:

arrays - 检查排序数组 A 中是否存在 A[i] = 2A[j]

javascript - 停止向节点追加相同的元素

javascript - 在屏幕上出现具有响应高度的特定 div 后获取操作

javascript - 获取每个元素的 id

javascript - 数据表 : Hide data as default

javascript - CKeditor5 插入符始终向左聚焦,但我希望它位于文本之后

javascript - jQuery UI Accordion - "If Statement"用于打开/关闭面板

java - 如何将新元素添加到数组中

javascript - "jQuery requires a window with a document"webpack 2错误

java - 数组在 Java 中是线程安全的吗?