array [i] .match和array [i] .substring的问题

时间:2017-10-21 18:24:27

标签: javascript arrays

我想使用array[i].matcharray[i].substring,但这给我带来了一个问题。

如果我想输出这些匹配,我会得到一个空白页面。

的JavaScript

var List = ["example1", "example2", "example3", "example21", "example12"];
var array = [];

for (var i = 0; i < List.length; i++) {
  Entry = List[i];
  var counts = Entry.match(/1/g).length;

  //var n = Entry.search("example1");

  if (counts >= 1) {
    array.push(Entry);
  }

}

for (var i = 0; i < array.length; i++) {
  var Eintrag = document.createElement("div");
  Eintrag.style.background = "DodgerBlue";
  Eintrag.style.width = "50px";
  Eintrag.style.height = "10px";
  Eintrag.style.marginLeft = "1%";
  Eintrag.style.marginRight = "1%";
  Eintrag.style.border = "thin solid red";
  CallOutputBox.appendChild(Eintrag);
}

使用array[i].search它可以正常工作。

1 个答案:

答案 0 :(得分:-1)

它没有用,因为你假设有一个数组。如果没有匹配,则没有数组。因此,您需要检查counts是否存在,然后检查长度。

DOCS

包含整个匹配结果和任何括号捕获的匹配结果的数组; null if there were no matches

DEMO

var counts = Entry.match(/1/g);

if (counts && counts.length >= 1) {
   // do stuff
}