首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 日曆組件根據日期顯示價格:JSON 數據預處理 O(1) 查找

     編輯:程式設計綜合問答

原始數據

陣列含 8 條記錄,每條有 `adate` (yyyy/MM/dd)、`price` 等字段。

優化:構建 Map 查找表

const priceMap = new Map();
data.forEach(item => {
    const key = item.adate.replace(/\//g, '-'); // 統一分隔符
    priceMap.set(key, item);
});

function getPrice(dateStr) { // dateStr 格式 yyyy-MM-dd
    return priceMap.get(dateStr) || null;
}

// 回調中使用
showFu: function(date) {
    const info = getPrice(date);
    if (info) renderPrice(info.price, info.eprice);
}

優勢

  • **O(1) 查找**,避免每次遍歷陣列 O(n)。
  • 統一日期格式 (替換 `/` → `-`),避免匹配失敗。
  • 返回完整記錄,可直接取 `price`、`eprice`、`childprice` 等。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved