查找并过滤 Array 的所有内容的管道,格式为 JSON Angular 2
Find and filter pipe for all content of Array as JSON format Angular 2
我有一个搜索栏,我希望能够使用我希望创建的管道在收到的 json 或对象数组的所有字符串或列中进行搜索。所以我可以在我的 table 中更新这个结果。
到目前为止我所拥有的自定义管道:(不做我想做的)
transform(items: any[], args:string): any {
let keys = [];
for (let key in items) {
keys.push({key: key, value: items[key]});
}
let ans = [];
for (let k in keys){
if(items[k].value.match('^.*' + args +'.*$')){
ans.push({key: k, value: items[k]});
}
}
return ans; }
搜索HTML
<input type="text" #filterInput (keyup)="0">
正在 Table 调用 Pipe
中加载
<tbody *ngIf="usersBool">
<tr *ngFor="let entry of content | filterArrayOfObjects: filterInput" >
<td>{{entry.value.enrollmentId}}</td>
<td>{{entry.value.firstName}}</td>
<td>{{entry.value.LastName}}</td>
<td>{{entry.value.typeOfUser}}</td>
<td>edit</td>
<td>delete</td>
</tr>
</tbody>
我有一个名为的虚拟内容:
this.content = [
{
"enrollmentId": "A0xxxxxx",
"firstName": "Bob",
"LastName": "Bob",
"typeOfUser": 'Admin'
},
{
"enrollmentId": "A0xxxxxx",
"firstName": "Bob",
"LastName": "Bob",
"typeOfUser": 'Admin'
},
{
"enrollmentId": "A0xxxxxx",
"firstName": "Bob",
"LastName": "Bob",
"typeOfUser": 'Admin'
}
];
所以我必须考虑我的内容词典中的每个键,并分析它们的内容是否与我在搜索栏中输入的内容匹配
transform(items: any[], args:string): any {
let ans = [];
for (let k in items){
if(items[k].enrollmentId.match('^.*' + args +'.*$')
|| items[k].firstName.match('^.*' + args +'.*$')
|| items[k].lastName.match('^.*' + args +'.*$')
|| items[k].typeOfUser.match('^.*' + args +'.*$')) {
ans.push({key: k, value: items[k]});
}
}
return ans;
}
我有一个搜索栏,我希望能够使用我希望创建的管道在收到的 json 或对象数组的所有字符串或列中进行搜索。所以我可以在我的 table 中更新这个结果。
到目前为止我所拥有的自定义管道:(不做我想做的)
transform(items: any[], args:string): any {
let keys = [];
for (let key in items) {
keys.push({key: key, value: items[key]});
}
let ans = [];
for (let k in keys){
if(items[k].value.match('^.*' + args +'.*$')){
ans.push({key: k, value: items[k]});
}
}
return ans; }
搜索HTML
<input type="text" #filterInput (keyup)="0">
正在 Table 调用 Pipe
中加载<tbody *ngIf="usersBool">
<tr *ngFor="let entry of content | filterArrayOfObjects: filterInput" >
<td>{{entry.value.enrollmentId}}</td>
<td>{{entry.value.firstName}}</td>
<td>{{entry.value.LastName}}</td>
<td>{{entry.value.typeOfUser}}</td>
<td>edit</td>
<td>delete</td>
</tr>
</tbody>
我有一个名为的虚拟内容:
this.content = [
{
"enrollmentId": "A0xxxxxx",
"firstName": "Bob",
"LastName": "Bob",
"typeOfUser": 'Admin'
},
{
"enrollmentId": "A0xxxxxx",
"firstName": "Bob",
"LastName": "Bob",
"typeOfUser": 'Admin'
},
{
"enrollmentId": "A0xxxxxx",
"firstName": "Bob",
"LastName": "Bob",
"typeOfUser": 'Admin'
}
];
所以我必须考虑我的内容词典中的每个键,并分析它们的内容是否与我在搜索栏中输入的内容匹配
transform(items: any[], args:string): any {
let ans = [];
for (let k in items){
if(items[k].enrollmentId.match('^.*' + args +'.*$')
|| items[k].firstName.match('^.*' + args +'.*$')
|| items[k].lastName.match('^.*' + args +'.*$')
|| items[k].typeOfUser.match('^.*' + args +'.*$')) {
ans.push({key: k, value: items[k]});
}
}
return ans;
}