Angular的distinctUntilChanged-Valuecomparison
创始人
2024-10-24 03:00:29
0

Angular 的 Operators 中有一个 distinctUntilChanged 操作符,它可以过滤掉连续发送相同元素的 Observable。默认情况下,它使用的是对象引用比较,即只有当两个发射出来的元素的引用不同,才会被认为是不同的。但有时我们需要使用值比较,即只要两个元素的属性值相同,就认为它们相同,如下例:

const obj1 = { id: 1 };
const obj2 = { id: 1 };

of(obj1, obj2, obj2, obj1)
  .pipe(distinctUntilChanged())
  .subscribe(console.log);
// Output:
// { id: 1 }
// { id: 1 }
// { id: 1 }
// { id: 1 }

of(obj1, obj2, obj2, obj1)
  .pipe(distinctUntilChanged((prev, curr) => prev.id === curr.id))
  .subscribe(console.log);
// Output:
// { id: 1 }

可以看到,第一个例子中,obj1 和 obj2 被认为是两个不同的元素,因为它们的引用不同,而第二个例子中,只有一个元素被输出,因为 obj1 和 obj2 的 id 属性都是相同的。

相关内容

热门资讯

透视数据!wepoker辅助是... 透视数据!wepoker辅助是真的假的,wepoker买脚本靠谱吗(透视)教你教程(有挂插件);1、...
透视黑科技(WePoKer)破... 透视黑科技(WePoKer)破解辅助插件wepoker(透视)一贯真的有挂(AA德州教程)1、很好的...
透视线上!wepoker辅助软... 透视线上!wepoker辅助软件价格,wepoker透视版下载(透视)2025新版教程(有挂方法)1...
透视肯定(wepoker)we... 透视肯定(wepoker)wepoker怎么设置房间(透视)本来存在有挂(wpk教程)小薇(透视辅助...
透视脚本!wepoker挂,购... 透视脚本!wepoker挂,购买wepoker模拟器(透视)必备教程(有挂细节)1、购买wepoke...
透视计算(wepoker)we... 透视计算(wepoker)wepoker透视辅助下载(透视)一贯存在有挂(攻略教程)1、金币登录送、...
透视攻略!wepoker分析,... 透视攻略!wepoker分析,wepoker有辅助功能吗(透视)专业教程(有挂解密);1、很好的工具...
透视透视挂(WEPOKER)w... 透视透视挂(WEPOKER)wepoker私人局辅助挂(透视)总是是有挂(线上教程);在进入wepo...
透视肯定!wepoker游戏安... 透视肯定!wepoker游戏安装教程,wepokerplus万能挂(透视)力荐教程(有挂介绍);1、...
透视智能ai(WePoKer)... 透视智能ai(WePoKer)wepoker透视辅助下载(透视)真是有挂(透明挂教程);该软件可以轻...