javascript - 如何使用javascript过滤值?
问题描述
从上图中,我必须在receiver_id_1、receiver_id_2、sender_id 的任何位置过滤这些数据“1565158223”和“4”,但要一起过滤。
我想删除包含“3”、“1”等的其他数据。
我想要一个具有最少代码和最少循环的解决方案,因为我得到的记录太多。
我可以检查条件,例如 (receiver_id_1 == "1565158223" AND "sender_id" == "4") OR (receiver_id_2 == "1565158223" AND "sender_id" == "4") OR (receiver_id_2 == "1565158223" AND “receiver_id_1” == “4”)同样明智..
但是我不想在这里写几个条件。
请任何人帮我解决它。
解决方案
如果你可以使用 es6 的特性试试这个(我们假设你的数组是items
):
filtered_items = items.filter(item =>
[1565158223,4].indexOf(parseInt(item['receiver_id_1'])) > -1 &&
[1565158223, 4].indexOf(parseInt(item['receiver_id_2'])) > -1 &&
[1565158223, 4].indexOf(parseInt(item['sender_id'])) > -1
)
请注意,它不会更改原点items
,只是filtered_items
您最终过滤的项目。
推荐阅读
- javascript - 使用 JS 创建 DOM 元素,其中包含更多元素
- javascript - JavaScript 不检测 td 上的点击
- c# - 无法更新 ASP.net Core 中的硬编码数据
- ios - Xcode 给出错误“无法识别的选择器发送到实例”
- python - 如何使用 pandas 根据另一列的数据获取列中的平均值?
- typescript - 错误 TS2584 (TS) 是什么意思....尝试更改“lib”编译器选项以包含“dom”?
- javascript - 如何从 AWS CloudFront 和 S3 请求 gzip javascript 文件
- python - 用文字替换表情符号
- python - 如何使用 OpenCV 覆盖图像和文本/形状?
- django - 使用 OneToOneField 进行 Django 迁移