如何在JavaScript中构建关系结构?

k97glaaz  于 2023-04-04  发布在  Java
关注(0)|答案(3)|浏览(108)

DB中有两个表:
1-要素:

  • 元素ID
  • 元素名称

2-方法:

  • 方法ID
  • 元素ID
  • 方法数据

所以在元素和方法之间存在一对多的关系,
我使用www.example.com加载这些表数据asp.net,
我想做的是把这些数据发送给我的JavaScript,JavaScript会对这些数据做一些函数。
例如,将遍历所有元素并获取每个元素的方法,并对每个方法的数据做一些事情。
我试着用jaascript把它作为类,但发现我自己写了很多东西,
前2个类,用于元素和方法,然后2个数组1-用于元素2-用于方法
在methods数组中我写了这样的代码:

this.findByElementId = function(elementId) {
    var result = [];
    for (var i = 0; i < this.methods.length; i++) {
        if (elementId === this.methods[i].methodElement) {
            result.push(this.methods[i]);
        }
    }
    return result;
}

这让我的代码变慢了。
我的问题是如何在JavaScript中表示这种关系结构,以获得更专业的代码和更快的处理速度?

m2xkgtsf

m2xkgtsf1#

function Element() {
this.id;
this.type;
this.methods = new Array();

}

function Method() {
    this.id;
    this.methodType;
    this.methodData;
    this.methodElement;
    this.methodRank;
}
xkrw2x1b

xkrw2x1b2#

你可以使用字典按id存储实体数据。这样就可以快速访问它们。对于列表顺序,你可以使用id数组。这个想法来自Redux规范化

cdmah0mi

cdmah0mi3#

我自己从来没有尝试过这些东西,但是人们已经为JavaScript编写了LINQ风格的库,比如JSINQ(该页面底部也有更多JS LINQ库的链接)。
它声称你可以“针对JavaScript数组、DOM节点列表或你自己的可枚举类型编写任意复杂的查询”,这听起来像是你想要的。

相关问题