📅  最后修改于: 2023-12-03 14:48:10.299000             🧑  作者: Mango
Underscore.js是一个流行的JavaScript工具库。其中的_.isMap()
函数用于判断一个对象是否为ES6的Map对象。
_.isMap(obj)
obj
- 要检查的对象。如果obj
是一个Map对象,则返回true
;否则返回false
。
var map1 = new Map([[1, 'one'], [2, 'two'], [3, 'three']]);
console.log(_.isMap(map1));
// true
var obj1 = {one: 1, two: 2, three: 3};
console.log(_.isMap(obj1));
// false
lodash是一个类似于Underscore.js的工具库。虽然在lodash中没有_.isMap()
函数,但你可以使用lodash的_.get()
函数和ES6的typeof
来执行相同的任务。
var map1 = new Map([[1, 'one'], [2, 'two'], [3, 'three']]);
console.log(typeof _.get(map1, 'entries') === 'function');
// true
var obj1 = {one: 1, two: 2, three: 3};
console.log(typeof _.get(obj1, 'entries') === 'function');
// false
如上所示,在lodash中,你可以使用_.get(obj, path)
函数来获取对象obj
中指定路径path
上的值。对于Map对象,你可以检查它是否具有一个entries
函数(只有Map对象才有这个函数)。 如果具有,那么它就是一个Map对象。如果没有,则不是。