如何用一行JavaScript代码获取水果的唯一颜色总数?
简化统计唯一水果颜色的代码为一行
当然可以把这段代码简化成一行,利用Array.map提取所有水果的颜色,再直接传入Set构造函数去重,最后获取集合的元素数量即可:
const totalUniqueColors = new Set(allFruits.map(fruit => fruit.color)).size;
代码说明
allFruits.map(fruit => fruit.color):遍历数组,提取每个水果对象的color属性,生成仅包含颜色值的新数组。new Set(...):将颜色数组传入Set构造函数,自动过滤重复值,得到唯一颜色的集合。.size:获取Set集合的元素数量,也就是统计出的唯一颜色总数。
性能说明
你提到数组内水果数量超过50个,这种简化写法的性能和原代码基本一致,都是对数组进行一次线性遍历,不会产生额外性能损耗,完全可以放心使用。
内容的提问来源于stack exchange,提问作者codingismypassion
相关产品推荐
相关产品推荐

