gpt4 book ai didi

javascript - 如何实现两个数组之间的双向连接?

转载 作者:行者123 更新时间:2023-11-29 14:46:02 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个 ItemsService它从服务器获取项目并将它们作为 JSON 对象存储在其 cache 中多变的。元素可以出现在许多地方,例如在表格或图形/图表等中。

例如,当我初始化一个 table - 我只需要从 cache 中选择特定项目,例如第一、第三、第七。

如何实现它们之间的双向连接?基本上我想要table包含对 cache 中特定项目的引用所以当我在 cache 中更改项目时或在 table - 它的状态将始终同步,因为它是相同项。

还有当我从 table 中删除项目时- 它需要从 cache 中删除. Relationship between cache and table

这是 table 的示例和 cache结构:

表格:

table: {
"36": { // it's a name of a row
"72": [items], // it's a name of a column with corresponding items
"73": [items],
"74": [items]
},

"37": {
"72": [],
"73": [items],
"74": [items]
},
"38": {
"72": [],
"73": [],
"74": []
}
}

ItemsService缓存(简化版):

ItemsService = {
cache: [items]
};

项目结构:

{
id: 3,
parent_id: 1,
name: 'First Item',
siblings: [1,2,3],
active_users: [{user_id: 1, avatar_url: 'http://...'}, ...],
// 50 more fields :)
}

另外需要指出的是我用的是angular-ui-sortable允许在列/行之间拖动项目的插件,我需要提供 ng-model用数组(我认为)。这是它现在的样子:

<td ui-sortable="vm.sortableOptions"
ng-model="vm.table[row.id][column.id]">
<sb-item itemid={{item.id}}
ng-repeat="item in vm.table[row.id][column.id]">
</sb-item>
</td>

最佳答案

除非出于某种原因必须使用两个单独 数组,否则您是否考虑过使用filter

关于javascript - 如何实现两个数组之间的双向连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32808679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com