【发布时间】:2021-02-17 18:38:30
【问题描述】:
大家好,我目前正在编写一个 Firebase 函数,我必须在其中比较两个对象,这样我就不会陷入无限循环。我的对象如下所示:
{
id: string
name: string
coverURL: string
year: string
// part of another object so i minimize my document reads
relatedItems: {
id: {
id: string
name: string
coverURL: string
},
id: ...
}
}
如果 id、name、coverURL 或 year 的值发生变化,我只想在 firestore 中做一些事情。这样我就可以更新对象的相关项,而不会陷入无限循环。目前我正在用一个函数检查这个:
function isSame(oldItem: any, newItem: any): boolean {
if((oldItem.id === newItem.id) && (oldItem.name === newItem.name) && (oldItem.coverURL === newItem.coverURL) && (oldItem.year && newItem.year)) {
return true;
} else {
return false;
}
}
有没有更好的方法来检查第一层的对象是否相同?
【问题讨论】:
-
这:“有没有更好的方法来检查第一层的对象是否相同?” - 不是真的。需要进行一些比较。你所做的并没有本质上的错误。
-
我同意@RandyCasburn,您可以删除不必要的 if else,只需返回测试,您的函数可能是最快的:)
标签: javascript typescript firebase function google-cloud-firestore