有与LINQ相当的Vuejs吗?

时间:2018-09-25 09:22:10

标签: javascript linq vue.js

我是javascript的新手,我只是想知道vue中是否有LinQ等效项。我的目标是做这样的事情:

this.selection = this.clientsComplete.Where(
        c => c.id == eventArgs.sender.id);

在这样的收藏集上:

clientsComplete: [
        {
          id: 1,
          title: "Client1",
          description: "Unknown",
          sites: [
            { id: 1, title: "Site1-1", description: "Unknown" },
            { id: 2, title: "Site1-2", description: "Unknown" }
          ]
        },
        {
          id: 2,
          title: "Client2",
          description: "Inconnue",
          sites: [
            { id: 1, title: "Site2-1", description: "Unknown" },
    ...

此事件可能在vue中发生吗?我在文档中找不到有关列表选择的任何内容。

如果没有等效的LinQ,我需要做一次foreach来找到我的对象吗?

2 个答案:

答案 0 :(得分:1)

如何使用纯JavaScript?有强大的数组函数可以带您到达那里。

例如:

this.clientsComplete.filter(c => c.id == eventArgs.sender.id)与LINQ Where非常相似。

More info here.

编辑:使用ES6 arrow functions,但也可以不使用它来编写。

答案 1 :(得分:0)

https://www.npmjs.com/package/manipula与javascript LINQ等价。示例:

this.selection = Manipula.from(this.clientsComplete)
                         .where(c=> c.id == eventArgs.sender.id)
                         .toArray();