在 JavaScript 中,有没有办法检查对象或数组中是否存在空值?
空值在 JavaScript 中可能难以处理,但它们是语言的重要组成部分。在本文中,我们将讨论在 JavaScript 中检查对象或数组中是否存在空值的各种方法。
空值表示不存在对象值。它被有意设置以显示变量已声明但尚未赋值。
原始值为 `undefined`,表示意外缺少任何对象值,这与 `null` 相似,但与前者形成对比。这是因为已声明但尚未赋值的变量是 `undefined` 而不是 `null`。在 JavaScript 中,有很多方法可以检查值是否为空。让我们逐一讨论几种方法。
在 JavaScript 中使用 Object.keys()
Object.keys() 是 JavaScript 中的一种方法,它返回对象的键的数组。它接受一个参数,即要返回其键的对象。数组中键的顺序基于它们添加到对象的方式;较新的属性将出现在较旧属性之后。Object.keys() 也可用于数组,因为数组也是对象,并且数组中的每个元素都有其自己的键(索引)。
语法
以下是 Object.keys() 方法的语法。
Object.keys(object)
示例
在下面的示例中,我们使用 Object.keys() 运行脚本。
<!DOCTYPE html> <html> <body> <script> var data = [{ name: "AVATAR", Car: "AUDI", Bike: null, Location: null }, { name: "RAM", Car: "No", Bike: 'BULLET', Location: 'LA' }, ]; data.forEach(function(v, i) { if ( Object.keys(v).some(function(k) { return v[k] == null; }) ) document.write('Contains null value at: ', i + "<br>"); else document.write(' data right', i); }); </script> </body> </html>
当脚本执行时,事件被触发,允许我们检查脚本中使用的整个数据集以确定是否存在空值,它将根据我们的数据在网页上显示第一组数据中存在的空值和第二组数据的实际数据。
使用 JavaScript some() 方法
some() 方法接受一个函数作为参数,并测试数组中至少一个元素是否通过给定函数实现的测试。
当某个元素的提供函数返回 true 时,它返回 true;否则返回 false。
语法
以下是 some() 方法的语法
array.some(function(value, index, arr), this)
示例
考虑下面的示例,我们使用 some() 方法来检查是否存在空值。
<!DOCTYPE html> <html> <body> <script> var arr = [ { x : "1", y : "2", z : "3" }, { x : "ram", y : "abc", z : "var" }, { x : "abc", y : "def", z : null } ]; function hasNull(element, index, array) { return element.x===null || element.y===null || element.z===null; } document.write( arr.some(hasNull) ); </script> </body> </html>
运行上述脚本后,当事件被触发并检查给定数组是否包含空值时,浏览器将在网页上显示值“true”,并且由于条件匹配且给定数组包含空值,因此它将显示“true”。
使用 JavaScript include() 方法
JavaScript include() 方法用于将外部脚本或文件加载到当前文档中。此方法允许您添加来自现有 HTML 页面外部的脚本、库和其他文件。它可以与内联脚本和外部脚本一起使用。include() 方法将在继续执行程序的其余部分之前执行指定文件中的代码。
语法
以下是 include() 的语法
string.includes(searchvalue, start)
示例
让我们看看下面的示例,我们在其中使用 include() 方法
<!DOCTYPE html> <html> <body> <script> var nameArray = ["Jack", "rose", "Sam"]; if (nameArray.includes(null) == true) { document.write("array contains null value"); } else { document.write("array does not contains null value", "<br>"); } var objectData = { name: null }; if (Object.values(objectData).includes(null)) { document.write("object contains null value", "<br>"); } else { document.write("object does not contains null value", "<br>"); } </script> </body> </html>
当脚本执行时,事件被触发,它检查脚本中输入的数据是否包含空值,并在网页上显示该值。在上述情况下,它显示数组不包含空值,而对象包含空值。