JS数组判断为空的方法 ( 8种)
还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。
No.大剑师精品GIS教程推荐0地图渲染基础- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】 1Openlayers 【入门教程】 - 【源代码+示例 300+】 2Leaflet 【入门教程】 - 【源代码+图文示例 150+】 3MapboxGL【入门教程】 - 【源代码+图文示例150+】 4Cesium 【入门教程】 - 【源代码+综合教程 200+】 5threejs【中文API】 - 【源代码+图文示例200+】 6Shader 编程 【图文示例 100+】 7Geoserver 【配置教程 100+】 8卫星应用开发教程 【配置+应用教程 100+】 9GIS数字孪生与大模型 【应用实战 100+】 10报表与数字大屏 【Echarts 实战示例】 - 【D3 综合教程】 - 【其他大屏】
文章目录
1. **使用 `length` 属性**2. **使用 `!` 运算符结合 `length` 属性**3. **使用 `Boolean` 构造函数**4. **使用 `Array.isArray()` 结合 `length`**5. **使用 `every()` 方法检查空元素(如果“空”被定义为特定值)**6. **使用 `Object.keys()`**7. **使用 `for...of` 循环**8. **使用 `some()` 方法**
在JavaScript中,判断数组是否为空可以通过多种方式实现。以下是一些常见的方法及其示例代码:
1. 使用 length 属性
const arr = [];
if (arr.length === 0) {
console.log('数组为空');
} else {
console.log('数组不为空');
}
2. 使用 ! 运算符结合 length 属性
const arr = [];
if (!arr.length) {
console.log('数组为空');
} else {
console.log('数组不为空');
}
3. 使用 Boolean 构造函数
const arr = [];
if (Boolean(arr.length)) {
console.log('数组不为空');
} else {
console.log('数组为空');
}
4. 使用 Array.isArray() 结合 length
const arr = [];
if (Array.isArray(arr) && arr.length === 0) {
console.log('数组为空');
} else {
console.log('数组不为空');
}
5. 使用 every() 方法检查空元素(如果“空”被定义为特定值)
假设“空”元素被定义为 undefined:
const arr = [undefined, undefined];
const isEmpty = arr.every(item => item === undefined);
if (isEmpty) {
console.log('数组为空(全为 undefined)');
} else {
console.log('数组不为空');
}
6. 使用 Object.keys()
这种方法适用于检查稀疏数组或者具有属性的对象数组是否没有实际元素:
const arr = [];
if (Object.keys(arr).length === 0) {
console.log('数组为空');
} else {
console.log('数组不为空');
}
7. 使用 for...of 循环
const arr = [];
let isEmpty = true;
for (const _ of arr) {
isEmpty = false;
break;
}
if (isEmpty) {
console.log('数组为空');
} else {
console.log('数组不为空');
}
8. 使用 some() 方法
const arr = [];
if (!arr.some(Boolean)) {
console.log('数组为空');
} else {
console.log('数组不为空');
}
请注意,上述方法中,第5点和第8点的使用场景略有不同,它们不仅检查数组是否为空,还检查数组中的元素是否符合某种条件(如全为 undefined 或者所有元素转换为布尔值后为 false)。对于单纯判断数组是否为空,前四种方法是最常见和最直接的。