原始例外:无法阅读财产' 0'为null

时间:2018-01-18 08:02:51

标签: javascript jquery

是的,我知道这是一个着名的重复问题。但我没有找到如何在我的代码中解决它。

let newVlaue = [];
$(".displayInlineBlock").each(function() {
  if ($(this).find("input").is(':checked') && !$(this).find("label").hasClass("allselect")) {
    if ($(this).find("input").attr('id')) {
      let chosenValue = $(this).find("input").attr('id');
      let tempValue = chosenValue.match(/\d+/g);
      tempValue = parseInt(tempValue[0]);
      if (tempValue == 0) {
        newVlaue.push(tempValue);
      } else {
        newVlaue.push(tempValue - 1);
      }
    }
  }
});

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

您需要检查String#match的结果是否为null。如果没有,请继续。

let tempValue = chosenValue.match(/\d+/g); // result is null if no numbers are found
if (tempValue !== null) {
    // proceed
}

如果不匹配值应包括零,则可以添加一个零的默认数组。

let tempValue = chosenValue.match(/\d+/g) || [0];