javascript - JavaScript 中的空数组

标签 javascript arrays null

我有 JS 脚本:

$("#mailstextarea").on("change keyup paste click", function(){
    var text = this.value;
    var rez =  text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
    document.getElementById("emails").innerHTML = rez;

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

})

当我在 #mailstextarea 中输入邮件文本时,我在 div #emails 中看到此邮件,但在 rez.length 上出现错误“无法读取 null 的属性“长度””。为什么?谢谢!

最佳答案

如果没有匹配,

.match() 将返回 null

只需添加一个 if 检查:

if (rez) {
    for(var i = 0; i < rez.length; i++){
        addRow(rez[i]);
    }
}

或者,当没有匹配项时,您可以将 rez 设置为空数组。

var rez =  text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi) || [];

关于javascript - JavaScript 中的空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22090738/

相关文章:

javascript - WordPress 插件中的 jQuery 冲突 - jQuery 与 WordPress 核心

javascript - 如何分隔数组中的两个值并使它们成为自己的值

c# - 在构造函数中创建的对象变为空

python - 使用 python 将动态列表/数组存储在数据库中

sql - 在 SQL 查询中将 int 或 null 转换为 boolean 值的最佳方法是什么?

google-apps-script - 访问部署的网络应用程序中的电子表格

javascript - 如何定位元素,使其不会流出可见屏幕

javascript - map 问题 : draw route with 2 coordinates

javascript - 如何使用映射反转数组?

arrays - Chef 使用数组中的变量