如何过滤剑道网格(AngularJs)中的对象数组?
Posted
技术标签:
【中文标题】如何过滤剑道网格(AngularJs)中的对象数组?【英文标题】:How to filter an array of objects in Kendo Grid (AngularJs)? 【发布时间】:2020-10-27 00:27:37 【问题描述】:我有一个这样的 Document 对象:
"id": 1, "annotation": "some text", "signers": [ "id": 32, "name": "Bob", "address": "country": "USA",
"id": 44, "name": "Bill", "address": "country": "Canada"]
文档显示在剑道网格中,其中一列用于签名者。如何按姓名(也可以按国家/地区,但这不太相关)过滤签名者?如何过滤对象数组?
我一直在尝试弄清楚如何编写自定义 filter
函数并在客户端进行所有过滤,但我无法弄清楚。
【问题讨论】:
【参考方案1】:您可以创建一个名称或国家/地区的Set
以搜索并在Array#filter
的回调中调用Set#has
。
let doc = "id": 1, "annotation": "some text", "signers": [ "id": 32, "name": "Bob", "address": "country": "USA",
"id": 44, "name": "Bill", "address": "country": "Canada"];
const names = new Set(["Bob", "Joe"]);
doc.signers = doc.signers.filter((name)=>names.has(name));
console.log(doc);
【讨论】:
以上是关于如何过滤剑道网格(AngularJs)中的对象数组?的主要内容,如果未能解决你的问题,请参考以下文章