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 属性都是相同的。

相关内容

热门资讯

黑科技计算(wEPOKE)辅助... 黑科技计算(wEPOKE)辅助软件靠谱吗(黑科技)辅助器(切实真的有挂)1、ai辅助优化,发牌逻辑科...
黑科技辅助(微扑克)职业代打(... 黑科技辅助(微扑克)职业代打(辅助挂)ai辅助(一贯有挂);人气非常高,ai更新快且高清可以动的一个...
攻略辅助(微扑克)ai分析器(... 攻略辅助(微扑克)ai分析器(辅助挂)ai算牌器(竟然是有挂)1、许多玩家不知道辅助软件怎么退出观战...
透视神器(WPk)ai辅助(黑... 透视神器(WPk)ai辅助(黑科技)ai辅助实战效果(其实是有挂)1、金币登录送、破产送、升级送、活...
透视插件(Wpk)有辅助挂吗(... 透视插件(Wpk)有辅助挂吗(黑科技)数据统计软件(一贯真的是有挂)1)辅助挂:进一步探索辅助透视大...
黑科技游戏(we-poker)... 黑科技游戏(we-poker)ai辅助(黑科技)用模拟器(都是是有挂)1、很好的工具软件,可以解锁游...
黑科技挂(We辅poker助)... 黑科技挂(We辅poker助)人有挂吗(黑科技)ai软件(确实是有挂)是一款可以让一直输的玩家,快速...
黑科技辅助(微扑克)辅助插件挂... 黑科技辅助(微扑克)辅助插件挂(辅助挂)辅助工具(真是存在有挂)1)辅助挂:进一步探索辅助透视大陆,...
透视系统(wPk)外挂第一视角... 一、简介了解软件请加微:136704302是一款在线扑克游戏平台,玩家可以在平台上进行多人在线扑克游...
透视规律(wpK)辅助神器(黑... 透视规律(wpK)辅助神器(黑科技)有辅助挂(好像有挂)是一款可以让一直输的玩家,快速成为一个“必胜...