访问对象数组中的特定项(javascript)

时间:2018-02-27 15:38:52

标签: javascript

任何一个知道如何访问" 13-02-2018"? 帮助将受到高度赞赏。 the object 我已将数组命名为#34; Data"

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

2 个答案:

答案 0 :(得分:0)

我的解决方案是循环访问数据,并检查元素是否为日期格式。我假设日期总是相同的格式(即“dd-mm-yyyy”)?如果是这样,我会检查它们是否匹配使用正则表达式的格式(还有其他方法可以做到这一点,但我喜欢正则表达式!),所以试着看看这样的一个帖子:date format detection by regex - 所有信用都归功于链接中的原始答案。请注意,您需要更新已接受的答案,以便获得“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;
}

即使这不起作用,希望它能让您了解可能出现的可能路径:)

答案 1 :(得分:-1)

您的问题是&#34;如何列出对象中的键?&#34;

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

有关密钥的更多信息:Checking if a key exists in a JavaScript object?

编辑:OP更新了他的问题和数据。

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