🕵️♀️ 数组侦探:揭秘JavaScript"是否为数组"的判断方法
🎭 数组之谜:看似简单,实则复杂
在JavaScript这个奇妙世界里,要识别一个值是否真的是数组,远比你想象的复杂!
// 这些都是数组吗?
const suspect1 = [1, 2, 3]; // 标准数组
const suspect2 = new Array(1, 2, 3); // 构造函数创建的数组
const suspect3 = {
0: 'a', 1: 'b', length: 2 }; // 类数组对象
const suspect4 = document.querySelectorAll('div'); // DOM集合(类数组)
// 数组侦探,前来破案!
🔍 四大侦探方法:各显神通
1. 👑 Array.isArray() - 皇家认证侦探
// 官方认证的数组判断方法
function detectArray(value) {
return Array.isArray(value);
}
console.log(detectArray([1, 2, 3])); // ✅ true
console.log(detectArray(new Array(1, 2, 3))); // ✅ true
console.log(detectArray({
0: 'a', length: 1})); // ❌ false
console.log(detectArray('array')); // ❌ false
生活类比:官方护照检查
这就像在机场海关,官方护照检查员在验证你的身份。他拥有最先进的设备和官方数据库,能准确识别真假护照。无论护照是新版还是旧版(无论数组如何创建),只要是真护照(真数组)就能通过验证。