【问题标题】:Verify all columns of the array for a determined pattern验证阵列的所有列是否具有确定的模式
【发布时间】:2015-03-06 17:32:22
【问题描述】:

我有以下 javascript 代码

var list = [
{
  Date : '2014-12-31 12:23:43',
  DateStart: '1980-12-30 23:43:42',
  Name: 'Kate',
  ...
  ...
},
{
  Date : '1978-05-21 23:43:65',
  DateStart: '1973-04-06 12:34:09',
  Name: 'John',
  ...
  ...
}
];

以及验证正则表达式模式的以下代码:

for (var i in list) {
     var data = [];
     if (/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/.test(list[i].?)) {
         data.push({Data: list[i].Data });
     }
}

上面代码中的变量i是用来和数组的每一行交互的。

如何通过 for 循环与每一行和每一列进行交互,而不必在上述代码的问号中指定这一点?

我可以对所有要验证日期模式的列做什么?

使数组date 只保留值

2014-12-31 12:23:43,
1980-12-30 23:43:42,
1978-05-21 23:43:65,
1973-04-06 12:34:09

【问题讨论】:

  • 这是一个对象数组。 column = list[5].Date
  • 但我希望 column 保留数据值而不是 00/00/0000
  • “留下”?嗯?您希望column 更像是指向list 中特定条目的指针吗?真的不可能。 JS 没有指针。
  • 需要更好地解释目标。请在您的问题上投入更多精力,使它们清晰简洁。同时提供预期结果
  • 我们需要更多关于您想要达到的目标的详细信息。你想从你的对象中提取所有的日期吗?您的代码的哪一部分不起作用?你能想出一个 jsfiddle 来帮助我们查看你的问题吗?

标签: javascript arrays variables arraylist multidimensional-array


【解决方案1】:

这是我想要的吗

for (var j = 0; j < list.length; j++) {
        for (p in list[j]) {
            if (/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/.test(list[j][p])) {
                data.push({Data: list[j][p] });
            }
        }
    }

【讨论】:

    【解决方案2】:

    如何通过 for 循环与每一行和每一列进行交互,而不必在上述代码的问号中指定这一点?

    必须指定要访问的字段,否则解释器应该如何知道您要访问的内容?

    如果您想避免使用索引器,可以使用 underscore.js 等外部库来迭代集合:

    http://underscorejs.org/#each

    _.each(list, function(item) { 
      // validate item.Date and item.DateStart here
    });
    

    或者,这里有一个关于这个主题的非常简洁的帖子:For-each over an array in JavaScript?

    【讨论】:

    • 我输入了_.each(list, function(item) { var data = []; if (/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/.test(item.Data)) { data.push({ Data: item.Data }); } });,但它只验证指定的列。我想逐列逐行验证模式是否匹配。就像您要验证表时一样 for(line=0;line&lt;line.qtd;line++){for(column=0;column&lt;column.qtd;column++){}}@ovm
    猜你喜欢
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多