Angular/TypeScript中检查字典所有值满足条件的等价实现方法
Angular/TypeScript 等价实现
在TypeScript中,你可以通过Object.values()获取对象的所有值,再结合数组的every()方法实现和Python里all()函数一致的效果——every()会遍历数组,检查所有元素是否满足指定条件,只要有一个元素不满足就返回false,全部满足则返回true。
基础示例(检查所有值为0)
const yourDict = { a: 0, b: 0, c: 0 }; const allZero = Object.values(yourDict).every(value => value === 0); // allZero 结果为 true
自定义条件示例(检查所有值大于10)
const yourDict = { x: 12, y: 15, z: 20 }; const allGreaterThanTen = Object.values(yourDict).every(value => value > 10); // allGreaterThanTen 结果为 true
处理Map类型的"字典"
如果你的字典是TypeScript的Map类型,需要先把Map的值转为数组再调用every():
const yourMap = new Map<string, number>([['a', 0], ['b', 0]]); const allZero = Array.from(yourMap.values()).every(value => value === 0);
内容的提问来源于stack exchange,提问作者Amrmsmb
相关产品推荐
相关产品推荐

