2017-02-03 169 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。固定 –