如何在angularjs中通过数组来过滤对象?
How can you filter objects by an array in angularjs
我只是想知道你是否可以用另一个数组的过滤器来过滤一个现有的数组。
原来的json是:
[
{
"bookname": "harryporter",
"year": "2000",
"author":"J. K. Rowling"
},
{
"bookname": "Sleepless",
"year": "2003",
"author":"Connie Ann Michael"
},
{
"bookname": "No man's land",
"year": "1993"
"author":"Harold Pinter"
}
];
过滤数组:
[
"year":"1993"
"bookname":"No man"
]
也有一种方法来动态地添加元素到数组,当你编辑输入,也许键入文本?
例如:输入<div>
<input type="text" ng-model={{ filterArray.insert("bookname":"value") }}>Book Name
</div>
<<p> 过滤器/strong> <div ng-repeat="books in originalJson | filter: filterArray">
{{books.author}}
</div>
我希望我已经解释了我的问题,谢谢
如果你想通过多个值进行过滤,你可以传入一个filter-object。
每个键对应一个字段名,每个值根据对应的键过滤项。
Book name: <input type="search" ng-model="filterObj.bookname" />
Year: <input type="search" ng-model="filterObj.year" />
<div ng-repeat="book in books | filter:filterObj">...</div>
请参见简短演示。
如果你想让用户动态指定要过滤的字段,你也可以这样做(尽管这不是很常见的做法):
Filter by:
<input type="search" ng-model="dynamicField"
placeholder="Field to filter by" />
<input type="search" ng-model="filterObj[dynamicField]"
placeholder="Value to filter by" />
<div ng-repeat="book in books | filter:filterObj">...</div>
相关文章:
- 使用一个键的值数组过滤多个javascript对象
- 根据另一个包含角度 js 中对象的数组过滤包含对象的数组
- Javascript:按字符串数组过滤对象数组
- 在 javascript 中使用数组过滤 for AngularJS
- 挖空和选择器的数组过滤问题
- Lodash 按数组的属性数组过滤
- 如何用另一个字符串数组过滤ng重复中的字符串数组
- 如何根据javascript数组过滤rss数据
- 基于NodeJS中的其他数组过滤/搜索对象的JavaScript数组
- 使用不带嵌套循环的数组过滤对象数组js
- 使用数组过滤数组Javascript
- 用一维数组过滤多维数组
- AngularJS:如何给值数组过滤
- Angularjs,逐个数组过滤
- 用另一个对象数组过滤Javascript对象数组
- 创建搜索栏以将数组过滤到表中
- 通过id数组过滤角度数据
- coffeescript -数组过滤不工作
- Backbone.js:如何通过模型ID数组过滤对象集合
- 使用基于嵌套值的数组过滤对象数组