过滤 属性 包含字符串的数组
Filtering array where property contains string
我正在尝试过滤一些 JSON 数据以搜索以特定字符串开头的职位。
JSON 看起来像:
"periods": [
{
"periodName": "Week1",
"teamName": "Tango",
"roleName": "SoftwareEngineerII",
"roleExperience": "2",
"id": "cc1f6e14-40f6-4a79-8c66-5f3e773e0929"
},
...
]
我想过滤以 "Software" 开头的角色名称,以便我可以看到所有软件工程师级别的列表,并过滤掉其他角色。
我不确定如何在此处执行 "starts with" 或 "contains"。
您正在尝试过滤其中一个字符串属性包含值的数组...您还可以如何检查一个字符串是否包含另一个字符串?
您可以使用正则表达式:
var str = 'SoftwareEngineerII';
if (str.match(/^software/i)) {
// it starts with 'software'
}
因此您需要将其转换为可在您的过滤器中使用的谓词。
var query = Enumerable.From(data.periods)
.Where("!!$.roleName.match(/^software/i)")
.ToArray();
我正在尝试过滤一些 JSON 数据以搜索以特定字符串开头的职位。
JSON 看起来像:
"periods": [
{
"periodName": "Week1",
"teamName": "Tango",
"roleName": "SoftwareEngineerII",
"roleExperience": "2",
"id": "cc1f6e14-40f6-4a79-8c66-5f3e773e0929"
},
...
]
我想过滤以 "Software" 开头的角色名称,以便我可以看到所有软件工程师级别的列表,并过滤掉其他角色。
我不确定如何在此处执行 "starts with" 或 "contains"。
您正在尝试过滤其中一个字符串属性包含值的数组...您还可以如何检查一个字符串是否包含另一个字符串?
您可以使用正则表达式:
var str = 'SoftwareEngineerII';
if (str.match(/^software/i)) {
// it starts with 'software'
}
因此您需要将其转换为可在您的过滤器中使用的谓词。
var query = Enumerable.From(data.periods)
.Where("!!$.roleName.match(/^software/i)")
.ToArray();