firebug TypeError:array元素为null

时间:2015-08-18 01:48:44

标签: javascript csv

我有一个文件,其中包含电子邮件地址列表和CSV文件,其中包含一些地址列表以及更多信息,如姓名,职位等。

我试图通过检查csv文件的每一行来比较这两个文件。如果csv文件行中的电子邮件与电子邮件列表中的任何电子邮件匹配,则该行将被推送到另一个阵列。

我想出了以下代码:

function getCsvMatches(){
  var holder = [];
  var sep = "\n";
  var match_holder = "";
  var csv = document.getElementById("rawdata2").value;
  var csv_array = csv.split('\n');

  var email_list = document.getElementById("rawdata1").value;
  var emaillist_array = email_list.split('\n');

  var csv_length = csv_array.length;
  var emaillist_length = email_list.length;    

  for (var  i = 0; i < csv_length; i++){
    var email_line = csv_array[i].match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi)[0];
    //alert(email_line) //this works as expected
    if(emaillist_array.indexOf(email_line)>= 0){
      holder.push(csv_array[i]);
    }
  }

  for (var n = 0; n < holder.length; n++) {
    matched_holder += holder[n];
    matched_holder += sep;    
  }   

document.extractor3.rawdata3.value = match_holder;
document.extractor3.match_count.value =  holder.length;
document.extractor1.emaillist_count.value = emaillist_length;
document.extractor2.csv_count.value = csv_length;

}

这里有更多代码和html的jsbin链接:http://jsbin.com/fabumexucu/edit?output

问题是如果我在Firefox中运行脚本,我得到TypeError: csv_array[i].match(...) is null。但是,如果取消注释alert功能,我会收到csv文件中每封电子邮件的提醒。

请告诉我我做错了什么。感谢。

0 个答案:

没有答案