在 JavaScript 中检查值是否为数组是直接的:
Array.isArray(value);
但是,我需要区分数组的值和 andarray 以及数组原型的值。例如:
Array.isArray([]); // true
Array.isArray(Object.getPrototypeOf([])); // true, but need false
不幸的是,数组的原型也是数组类型,这就是为什么
Array.isArray
在这个例子中返回true。
如果有人知道我如何区分两者(测试数组,但不是数组原型),我将不胜感激。
console.log([] instanceof Array) // true
console.log(Object.getPrototypeOf([]) instanceof Array) // false