我正在尝试检查Map是否包含值。 我在打字机游乐场测试了这段代码。
let userMap = new Map();
userMap.set("user1", 'displayName');
userMap.set("user2", 'displayName2');
console.log(friendsMapNew.has("user2")); //true
但是当我在Google Cloud函数中使用此代码时,出现此错误:
error TypeError: userMap.has is not a function
这是我在云功能中使用的代码。
let userMap = new Map();
userMap = getUserDocument.data()['userMap']; //if i console.log this, it shows a map like this:
{ K79DFS: 'Bob' }
if (userMap.has("Bob") === true) {console.log("user exists")}
我在做什么错了?
谢谢!
答案 0 :(得分:1)
getUserDocument.data()['userMap'];
此语句返回object
而不是map
。
对象没有.has()
函数。因此是错误。
如果对象中的“鲍勃是一个值”,则应该改用此
Object.values(userMap).includes("Bob") === true
要检查属性名称,可以使用:
Object.keys(userMap).includes("K79DFS") === true