簡體   English   中英

訪問對象數組中的特定項目(javascript)

[英]Accessing a specific item in an object array(javascript)

任何人都知道我如何訪問“13-02-2018”? 幫助將不勝感激。 對象我有一個名為陣列“數據”

for (var i = 0; i < Data.length;i++){
                var temp =Data[i].[0];
                    }

我的解決方案是像您一樣遍歷數據,然后檢查元素是否為日期格式。 我假設日期總是相同的格式(即“dd-mm-yyyy)?如果是這樣,我會使用正則表達式檢查它們是否與該格式匹配(還有其他方法可以做到這一點,但我喜歡正則表達式!),所以試着看看像這樣的線程: 正則表達式檢測日期格式- 所有功勞都歸功於鏈接中的原始答案。請注意,您需要更新已接受的答案,以便獲得“dd-mm-yyyy”(我不確定下面是否會解決這個問題,因為我不知道 Date() 在 JS 中是如何工作的,您可能需要在使用它之前將其重新排列為“yyyy-mm-dd”格式)。

但是,是的,我會選擇類似的東西:

for (var i = 0; i<data.length; i++){
   for (var item in data[i]) {
       if(item.isValidDate()) {
           \\do your stuff, for example:
           var temp = item;
       }
   }
}

function isValidDate(dateString) {
   var regEx = /^\d{2}-\d{2}-\d{4}$/;
   if(!dateString.match(regEx)) return false;  // Invalid format
      var d = new Date(dateString);
   if(!d.getTime() && d.getTime() !== 0) return false; // Invalid date
      return d.toISOString().slice(0,10) === dateString;
}

即使這不起作用,希望它能讓您了解可以走下去的可能路徑:)

您的問題是“如何列出對象中的鍵?”

var foo = { bar: 'baz' };
for (var key in foo) { console.log(key); }
// outputs 'bar'

有關鍵的更多信息: 檢查 JavaScript 對象中是否存在鍵?

編輯:OP 更新了他的問題和數據。

var foo = [ { bar: 'baz' }, { buz: 'biz' } ];
for (var i = 0; i < foo.length; i++) {
    for (var key in foo[i]) {
        console.log(key);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM