🍹 今天喝点啥
杭州独立小众咖啡馆推荐 + 居家自制饮品配方,一键随机 · 多条件精准筛选
筛选条件
饮品品类
温度
咖啡因
甜度
城区筛选
咖啡馆风格
适用人群
当前筛选下共 0 款可选
我的收藏 (0)
还没有收藏任何饮品,快去随机推荐吧~
// ===== 今天喝点啥 v2 - 双Tab核心逻辑 =====
// 1. 双数据池切换
var pools = { coffee: coffeeOut, home: drinksHome };
var activeTab = 'coffee'; // 'coffee' | 'home'
// 2. 多条件交集筛选(全部条件同时满足)
function applyFilters(items, filters, tab) {
return items.filter(function(item) {
if (filters.temperature.length && filters.temperature.indexOf(item.temperature) === -1) return false;
if (filters.caffeine.length && filters.caffeine.indexOf(item.caffeine) === -1) return false;
if (filters.sweetness.length && filters.sweetness.indexOf(item.sweetness) === -1) return false;
if (filters.type.length && filters.type.indexOf(item.type) === -1) return false;
if (tab === 'coffee') {
if (filters.cafeStyle.length && filters.cafeStyle.indexOf(item.cafeStyle) === -1) return false;
if (filters.people.length && filters.people.indexOf(item.people) === -1) return false;
} else {
if (filters.equipment.length && filters.equipment.indexOf(item.equipment) === -1) return false;
if (filters.time.length && filters.time.indexOf(item.time) === -1) return false;
if (filters.scene.length && filters.scene.indexOf(item.scene) === -1) return false;
}
return true;
});
}
// 3. 加权随机算法
function weightedRandom(items) {
if (items.length === 0) return null;
var totalWeight = items.reduce(function(s, it) { return s + (it.weight || 1); }, 0);
var rand = Math.random() * totalWeight;
for (var i = 0; i < items.length; i++) {
rand -= (items[i].weight || 1);
if (rand <= 0) return items[i];
}
return items[items.length - 1];
}
// 4. LocalStorage 三组独立存储
// - drink_coffee_history / drink_coffee_fav / drink_coffee_filters
// - drink_home_history / drink_home_fav / drink_home_filters