首页 > 解决方案 > 如何检查对象是一个集合?

问题描述

Set用来处理我的任务。但是当我调试时,我得到了

mySet.has不是函数

所以我的问题是如何检查它是否是Set. 喜欢ArrayArray.isArray(obj)

标签: javascript

解决方案


您可以使用instanceof

let a = new Set()
let b = [1,2]

console.log(a instanceof Set)
console.log(b instanceof Set)

旁注:-

您也可以使用[] instanceof Array. 但是,Array.isArray它是为特定目的而创建的:避免 instanceof 的问题。即,window1.Array != window2.array;因此,new window1.Array() instanceof window2.Array == false。同样的逻辑也适用于 Set。只要您不弄乱多个全局环境, instanceof 就可以了。如果你这样做,b.toString() == "[object Set]"可能会更好。感谢@andman指出。


推荐阅读