2017-02-03 125 views
0

我试图制作一个脚本,它将一行形成一个完整的日期表,将它转换为一个数组并计算一个特定的日期。统计数组中的特定元素

我设法做除“计数特定日期”部分之外的所有部分。

阵列中的日期如下:

Fri Jan 27 2017 00:00:00 GMT+0100 (MEZ) 

的ARRY:

Fri Jan 27 2017 00:00:00 GMT+0100 (MEZ),Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ),Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ),Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ),Mon Jan 02 2017 00:00:00 GMT+0100 (MEZ),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 

想要的输出:(为“星期三2017年1月11日00:00:00 GMT + 0100( MEZ)”

3 
+1

刚写一个简单的循环,该数组元素和增量进行比较一个柜台。或者使用'array.filter(d => d == specific_date).length' – Barmar

+0

@Barmar我认为这应该被标记为'arrays'?我应该进行编辑吗? –

+1

发布数组的示例以及该数组的所需输出。 –

回答

1

var array = ["Fri Jan 27 2017 00:00:00 GMT+0100 (MEZ)", "Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)", "Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)", "Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)", "Mon Jan 02 2017 00:00:00 GMT+0100 (MEZ)"]; 
 

 
var dateToCount = "Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)"; 
 

 
var count = array.reduce(function (a, d) { 
 
    return d == dateToCount ? ++a : a; 
 
}, 0); 
 

 
console.log(count);

注:如果你能有小写或日期的其他形式,并希望得到这些计算在内,然后解析日期是这样的:

var dateToCount = Date.parse("Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)"); 
var count = array.reduce(function (a, d) { 
    return Date.parse(d) == dateToCount ? ++a : a; 
}, 0); 
+0

第三行在Google脚本中给我一个语法错误 –

+0

@SteffenBauer这可能是因为您的浏览器不支持**箭头功能**。我更新了我的答案。 –

+0

在这里试试吧 - > https://script.google.com/intro –

0

如果你有一个字符串数组像这些:

var arr = ["Fri Jan 27 2017 00:00:00 GMT+0100 (MEZ)", 
      "Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)", 
      "Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)", 
      "Wed Jan 11 2017 00:00:00 GMT+0100 (MEZ)", 
      "Mon Jan 02 2017 00:00:00 GMT+0100 (MEZ)"];` 

使用2个字符串的代码;

var day = new Date(arr[0]); 
day = day.getDay() + 1; 

只要阅读日期对象的文档:

日期对象本身:http://www.w3schools.com/jsref/jsref_obj_date.asp

Date.getDay()方法:http://www.w3schools.com/jsref/jsref_getday.asp

+0

如何链接到文档? – ppasler

+1

@ppasler,thanx。固定 –