📜  Underscore.js _.isMap()函数(1)

📅  最后修改于: 2023-12-03 14:48:10.299000             🧑  作者: Mango

Underscore.js _.isMap()函数

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中使用

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对象。如果没有,则不是。