如何检查对象或变量在Javascript或jQuery中是否可遍历?
一个对象或一个变量,其是可遍历必须工作的每个像object.forEach()
和$.each(object, callback)
jQuery中。
实际上,我想验证它,然后在每个循环中使用它。
更新:
我正在寻找的解决方案是这样的:
if(is_traversable($var)) {
$var.forEach(function(value, key) {
console.log(value);
}
}
您可能会给我一个is_traversable()
函数的实现。
对于数组,使用Array.isArray()
和对于对象,您可以先不检查null
并且typeof
等于'object'
或'function'
。
所需的功能:
var isTraversable = o => Array.isArray(o)
|| o !== null && ['function', 'object'].includes(typeof o);
console.log(isTraversable()); // false
console.log(isTraversable(undefined)); // false
console.log(isTraversable(null)); // false
console.log(isTraversable('')); // false
console.log(isTraversable(0)); // false
console.log(isTraversable('a')); // false
console.log(isTraversable(42)); // false
console.log(isTraversable(/./)); // false
console.log(isTraversable([])); // true
console.log(isTraversable([1])); // true
console.log(isTraversable({})); // true
console.log(isTraversable({ a: /./ })); // true
console.log(isTraversable(function () {})); // true
console.log(isTraversable(() => true)); // true
.as-console-wrapper { max-height: 100% !important; top: 0; }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句