gpt4 book ai didi

javascript - 如何使 Angular $filter 过滤区分大小写的字符串比较器

转载 作者:搜寻专家 更新时间:2023-11-01 04:22:58 25 4
gpt4 key购买 nike

我一直在尝试在 Angular Controller 中制作过滤器,它在过滤数组时区分大小写。

我的数据如下:

var stoneArr = 
[
{
"stone_name": "Diamond",
"id": 16
},
{
"stone_name": "Ruby",
"id": 17
},
{
"stone_name": "Sapphire",
"id": 18
},
{
"stone_name": "Emerald",
"id": 19
}
];

我的 HTML 输入如下:

<input type="text" name="stone_name" class="form-control" id="stone_name"
ng-model="propertyName" maxlength="15" required>

我在 Controller 中的过滤器是:

var stoneObj = $filter('filter')(stoneArr, {stone_name:$scope.propertyName}, true);

这里的陷阱是,当我在输入字段中输入“钻石”

$scope.propertyName = "diamond";

过滤器不匹配此字符串与“钻石”。

我不想从等式中删除完全匹配条件(真),如下所示:

var stoneObj = $filter('filter')(stoneArr, {stone_name:$scope.propertyName}); //This won't work for me

这对我不起作用,因为我想匹配精确的字符串来过滤数据。并且数据将具有唯一的“stone_name”值。我也不想使用任何循环,因为数组长度会超过 1000+。无论如何我可以做到这一点吗?

最佳答案

尝试使用匹配函数来获得不区分大小写的匹配:

var stoneObj = $filter('filter')(stoneArr, function (item) {
return item.stone_name.toLowerCase() == $scope.propertyName.toLowerCase();
},true);

关于javascript - 如何使 Angular $filter 过滤区分大小写的字符串比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39662557/

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