【发布时间】:2016-11-30 02:59:35
【问题描述】:
我一直在搜索 stackoverflow 问题以尝试了解如何通过多个匹配值过滤数组。
我的数组:
[{"time":"2016-11-30 02:45:00","signal":"Buy","symbol":"AUDNZDecn","price":"1.04605","timeframe":"M15","epoch":"1480473900","candel":"M151480481100"},{"time":"2016-11-30 02:41:00","signal":"Sell","symbol":"AUDJPYecn","price":"84.08700","timeframe":"M1","epoch":"1480473660","candel":"M11480480860"},{"time":"2016-11-30 02:24:59","signal":"Buy","symbol":"EURNZDecn","price":"1.48820","timeframe":"M5","epoch":"1480472699","candel":"M51480479900"}]
您可以看到有 3 个时间范围:M1、M5、M15
我可以使用以下代码按单个“时间范围”进行过滤:
var j = j.filter(function(el) {
return el.timeframe == timeframe;
});
注意: j 等于来自 AJAX 查询的 JSON 解析服务器响应,该查询与 php 脚本对话,该脚本传回 JSON 响应,也就是上面的数组。
目标:我想了解如何做的是一次过滤数组的多个“时间范围”值,以便当用户单击复选框以组合任何在三个时间范围内,我可以从复选框中提取值并通过用户选择的任何复选框组合过滤数组。前任。 "M1", "M5", "M15", "M1,M5" or M1,M15" or M5,M15" or "M1,M5,M15" 等等。
返回/过滤的新数组将在每个循环中传递给 jquery,然后将遍历数据并将数据附加到 div。 (我已经有这部分工作了)
感谢任何指导!
【问题讨论】:
-
如果用户单击它,您是否只想将值推送到新数组中?你的事件处理程序在哪里?
标签: javascript jquery arrays json