【发布时间】:2022-01-26 15:08:56
【问题描述】:
我正在使用 knockoutjs,但问题确实在 Javascript 域中。
我有变量vm.filteredSerivces(),其中包含所有员工的所有服务。
现在,我只想保留那些位于vm.filteredSerivces()[0].GroupedServices[x].EmployeeId == 3684 的filteredSerivces(x 是GroupedServices 对象列表中每个对象的索引号)
我尝试如下:
var filteredSrvcs = vm.filteredSerivces()[0].GroupedServices.filter(x => x.EmployeeId != Id).remove();
vm.filteredSerivces(filteredSrvcs );
但是我这样改变了结构,我在html中的绑定不对应。
有没有其他方法可以删除这个子子对象,并保持结构原样?
【问题讨论】:
-
那张图片对我们来说完全没用。如果您需要minimal reproducible example 的帮助,请提供一些示例数据和预期结果
-
我的对象
vm.filteredSerivces()有子对象GroupedServices,我想从名为 GroupedServices 的子对象中删除一些对象,正如您在照片上看到的那样,GroupedServices 有 2 个对象(带有ID:5247 和 5254)。我想从该 GroupedSerivces 对象中删除所有 Id != 来自某个数字的对象 -
如果没有示例数据,我们应该如何运行您尝试过的代码并查看它产生了什么或哪里出错了。我们不知道
vm.filteredSerivces()返回了什么 -
是的,我知道@charlietfl 在这里,你可以从 js 窗口看到结构,由于某种原因,它在从演示中单击时不起作用jsfiddle.net/jp9davhc
-
所以你可能想遍历外部数组并过滤每个数组