gpt4 book ai didi

javascript - AngularJS 基于字符串数组的过滤器几乎就在那里

转载 作者:行者123 更新时间:2023-12-03 10:03:53 25 4
gpt4 key购买 nike

我正在尝试基于字符串数组创建自定义 Angular 过滤器,例如:

$scope.idArray = ['1195986','1195987','1195988']

我要过滤的数据格式为:

    $scope.data = {
"moduleName": null,
"contentholder_0": {
"moduleName": "contentholder",
"id": "-1",
"name": "",
"content": ""
},
"webapps_1": {
"moduleName": "webapps",
"items": [{
"itemid": "1195986",
"name": "abc"
},{
"itemid": "1195987",
"name": "def"
},{
"itemid": "1195988",
"name": "ghi"
}]
}
}

我查看了这个堆栈问题以尝试创建自定义过滤器: Example

这是JSFiddle答案

我无法破解它以适应我想做的事情的数据结构(如果“itemid”位于“idArray”中,则过滤“items”)

这是一个JSfiddle在不破坏 Angular 情况下尽可能接近。

如果这是一个 super 简单的问题,请原谅我,但我是一个初学者,并且尝试了多种方法来使其发挥作用,但一直未能成功。我不确定实际的过滤是在哪里完成的,以及如何将 idArray 中的字符串与 data.webapps_1.items.itemid 进行比较

任何帮助将不胜感激。

最佳答案

我相信这就是您想要做的。此过滤器现在检查是否有任何项目与 ID 数组中的任何项目具有相同的 ID。

.filter('selectedTags', function () {
return function (items, tags) {
var filtered = [];
angular.forEach(items, function (item) {
angular.forEach(tags, function (tag) {
if (item.itemid == tag) {
filtered.push(item);
}
});
});
return filtered;
};
})

查看此Fiddle

关于javascript - AngularJS 基于字符串数组的过滤器几乎就在那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30457291/

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