过滤数组(javascript)
我有一个数组,每个数组中都有日期和一个随机值 我有一个日期选择器,一旦我点击了某个日期,我就保留该日期的值 以身作则过滤数组(javascript),javascript,arrays,Javascript,Arrays,我有一个数组,每个数组中都有日期和一个随机值 我有一个日期选择器,一旦我点击了某个日期,我就保留该日期的值 以身作则 var array = [ ["02-01-2017 09:20:21", 116], ["02-13-2017 19:07:57", 133], ["01-28-2017 10:27:15", 29], ["02-14-2017 06:56:22", 137], ["02-22-2017 09:23:43", 208], ["01-15-
var array = [ ["02-01-2017 09:20:21", 116],
["02-13-2017 19:07:57", 133],
["01-28-2017 10:27:15", 29],
["02-14-2017 06:56:22", 137],
["02-22-2017 09:23:43", 208],
["01-15-2017 23:33:40", 120],
["01-16-2017 05:21:05", 146],
["01-02-2017 01:49:32", 209],
["02-14-2017 06:19:54", 172],
["01-02-2017 02:12:16", 13],
["02-25-2017 11:39:00", 213],
["01-01-2017 15:27:43", 39],
["01-10-2017 17:58:27", 96],
["02-10-2017 18:17:42", 99],
["01-04-2017 21:28:33", 40],
["02-08-2017 18:09:55", 92],
["02-08-2017 10:24:47", 12],
["02-03-2017 19:49:59", 15],
["01-07-2017 16:52:17", 196]
]
因此,一旦我从日期选择器(如2017年8月2日)中单击一个日期,我想过滤掉我的大数组,以便在最后,我的数组只包含包含所选日期的数组
var newArray = [
["02-08-2017 18:09:55", 92],
["02-08-2017 10:24:47", 12]
]
那我该怎么做呢?不使用任何jquery您需要Array.prototype.filter,它接受一个函数并将其应用于数组的每个元素。如果函数返回true,则传递给它的元素将作为其结果返回 例如:
let result = sourceArray.filter((elt) => elt[0].match(/^02-08-2017$/))
您可以使用filter和transform-the string in Date()对象,并使用toDateString()比较它们,忽略小时数,只考虑日期
var数组=[[02-01-2017 09:20:21],116],“02-13-2017 19:07:57”,133],“01-28-2017 10:27:15”,29],“02-14-2017 06:56:22”,137],“02-22-2017 09:23:43”,208],“01-15-2017 23:33:40”,120],“01-16-2017 05:21:05”,146],“01-02-2017 01:49:32”,209],“02-14-2017 06:19:54”,172],“01-02-02-2017:12:16”,13:21],[2017:21],[2017],["01-01-2017 15:27:43", 39], ["01-10-2017 17:58:27", 96], ["02-10-2017 18:17:42", 99], ["01-04-2017 21:28:33", 40], ["02-08-2017 18:09:55", 92], ["02-08-2017 10:24:47", 12], ["02-03-2017 19:49:59", 15], ["01-07-2017 16:52:17", 196] ]
const selectedDate=“02-08-2017”;
const transformedDate=新日期(selectedDate).toDateString()
const result=array.filter(el=>newdate(el[0])。toDateString()==transformedDate)
console.log(result)
到目前为止您尝试了什么?过滤数组在JavaScript中是一项任务。“数组是否在”在什么中?您忘记了什么吗?这非常有效,遗憾的是我的错误很愚蠢,我被允许的是allDays=array.filter(picked=>picked.match(day)),因此括号和没有针对索引让我感到困惑,非常感谢