javascript - $filter() 如何在 angularjs 内部工作?
问题描述
我有一个对象数组searchArr
。还有另一个对象数组arr
。
searchArr = [{id: 36, user_id: "oulFlPx9Ho3U",account_number: "orsV5zWHquBX_orCvEx4YdQxP_1903", bank_name: "BANK1TEST"}]
arr = [{bank_name: "BANK1TEST", org_id: "orsV5zWHquBX", currency: "USD", account_number: "orsV5zWHquBX_orCvEx4YdQxP_1903", id: "baccD82Lu7rQ0y"}, {bank_name: "BANK1TEST", org_id: "orsV5zWHquBX", currency: "USD" account_number: "orsV5zWHquBX_orCvEx4YdQxP_1", id: "baccIRmnWaEiJm"}]
我想过滤所有在 和 上具有相同名称和电话号码的searchArr
数据arr
。所以我在里面写了这段代码arr.foreach(ar)
:
var foo = $filter('filter')(searchArr, {account_number: ar.account_number, bank_name: ar.bank_name})
但是,如果我打印出结果的值,它会得到[{id: 36, user_id: "oulFlPx9Ho3U",account_number: "orsV5zWHquBX_orCvEx4YdQxP_1903", bank_name: "BANK1TEST"}]
两次打印的值,这意味着它没有完全过滤掉。
相反,如果我使用这段代码,它可以完美运行:
var foo = searchArr.filter(function (bar) {
return bar.account_number === ar.account_number && bar.bank_name === ar.bank_name;
});
这仅返回一个条目。我认为这两个都应该正常工作。
编辑:问题:$filter 是否作为 contains() 工作?我的意思是我有我试图过滤的 account_numberorsV5zWHquBX_orCvEx4YdQxP_1903
和它过滤的那个是orsV5zWHquBX_orCvEx4YdQxP_1
.
解决方案
推荐阅读
- c# - C# MongoDB Azure Cosmos 拉取过滤器
- java - 尽管已使用该值,但从未使用过
- python - 如何将经过训练的 Pipeline 模型保存到单个 tflite 文件中?
- swift - 旧核心数据同步到 CloudKit “iCloud”
- android - Flutter iOS 设备:连接服务协议出错:无法连接到 http://127.0.0.1:1024
- c# - “冒泡调用堆栈”是什么意思?
- java - 使用 Jsoup 获取元标记值
- ios - 架构 armv7 的未定义符号:“query_call_back(callback_func_type)”
- ios - RealityKit 中的第一人称体验
- python - 如何在嵌套列表中查找重复元素,然后将重复的内容添加到原始列表中