javascript - 如何检查对象是一个集合?
问题描述
我Set
用来处理我的任务。但是当我调试时,我得到了
mySet.has
不是函数
所以我的问题是如何检查它是否是Set
. 喜欢Array
有Array.isArray(obj)
。
解决方案
您可以使用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指出。
推荐阅读
- python - 将具有混合(日期时间和整数)值的 Pandas 列仅转换为日期时间
- angular - 如何在Angular中加载延迟加载的块后修复长时间延迟
- python - 将多个文本文件中的特定列合并到一个文件中
- git - 在 Android Studio 3.3.2 中构建 Android 项目后,.gitignore 中存在的文件总是被添加到 git
- javascript - 如何使用按钮单击打开引导模式
- xaml - 如何使用 xamarin 表单在列表视图中添加复选框
- android - 基于字符串数组项,将相同的项显示到下一个片段
- angular - 如何将 routerLink 与 innerHTML 一起使用
- c - 在这个函数中正确的指针没有返回到调用函数
- mysql - 在我的情况下,如何在没有 GROUP BY 的情况下使用 GROUP_CONCAT?