
本文旨在提供一个JavaScript函数,用于检查一个包含城市销售数据的对象中,是否所有城市都满足特定房间(房间号2、3、4)的销售数量均大于等于3的条件。如果满足条件,则返回所有符合条件的城市名称列表。
我们需要遍历一个对象,该对象以城市名称为键,值为包含房间销售数据的数组。对于每个城市,我们需要检查是否存在房间号为2、3和4的记录,并且这些房间的 count 属性值是否都大于等于3。如果所有城市都满足这个条件,或者我们只关心满足条件的城市,那么我们需要提取这些城市的名称。
以下提供两种解决方案:一种返回符合条件的城市对象,另一种仅返回符合条件的城市名称列表。
此方案返回一个对象,其中包含所有符合条件的城市及其对应的房间销售数据。
立即学习“Java免费学习笔记(深入)”;
const findRoom = (city, roomNbr) =>
city.find(({rooms}) => rooms == roomNbr);
const findMatchingCities = (cities) => Object.entries(cities).filter (
([name, city]) => [2, 3, 4].every(roomNbr => findRoom(city, roomNbr)?.count >= 3)
);
const selectCities = (cities) =>
Object.fromEntries(findMatchingCities(cities));
const sales = {"City 1": [{rooms: 1, count: 1}, {rooms: 2, count: 2}, {rooms: 3, count: 3}], "City 2": [{rooms: 1, count: 1}, {rooms: 2, count: 1}, {rooms: 3, count: 1}, {rooms: 4: 2}], "City 3": [{rooms: 2, count: 6}, {rooms: 4, count: 7}], "City 4": [{rooms: 1, count: 4}, {rooms: 2, count: 6}, {rooms: 3, count: 3}, {rooms: 4, count: 7}]};
console.log (selectCities(sales));代码解释:
此方案仅返回一个包含所有符合条件的城市名称的数组。
const findRoom = (city, roomNbr) =>
city.find(({rooms}) => rooms == roomNbr);
const findMatchingCities = (cities) => Object.entries(cities).filter (
([name, city]) => [2, 3, 4].every(roomNbr => findRoom(city, roomNbr)?.count >= 3)
);
const selectCityNames = (cities) =>
findMatchingCities(cities).map(([name]) => name);
const sales = {"City 1": [{rooms: 1, count: 1}, {rooms: 2, count: 2}, {rooms: 3, count: 3}], "City 2": [{rooms: 1, count: 1}, {rooms: 2, count: 1}, {rooms: 3, count: 1}, {rooms: 4: 2}], "City 3": [{rooms: 2, count: 6}, {rooms: 4, count: 7}], "City 4": [{rooms: 1, count: 4}, {rooms: 2, count: 6}, {rooms: 3, count: 3}, {rooms: 4, count: 7}]};
console.log (selectCityNames(sales));代码解释:
以上两种方案都能够有效地解决问题。选择哪种方案取决于你的具体需求。如果只需要城市名称,则方案二更简洁。如果需要保留城市对应的房间销售数据,则方案一更合适。
注意事项:
以上就是JavaScript:检查对象数组中所有对象的属性值是否大于指定数值的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号