如何用JavaScript遍历嵌套数组找出销售额最高的月份?
找出销售额最高的月份并格式化输出
你不需要用嵌套循环来做这件事,一次遍历就能搞定,核心思路是遍历数组时记录当前最高的销售额和对应的月份,最后再把月份格式转换成你要的大写缩写形式。
完整实现代码
const sales = [ ['jan-2010', 200000], ['feb-2010', 400000], ['mar-2010', 100000] ]; // 初始化变量,存储当前最高销售额和对应月份 let maxSales = 0; let bestMonth = ''; // 遍历sales数组,解构每个子数组的月份字符串和销售额 for (const [monthStr, salesNum] of sales) { // 如果当前销售额比记录的最高值大,就更新记录 if (salesNum > maxSales) { maxSales = salesNum; // 提取月份的前3个字符,转成大写 bestMonth = monthStr.slice(0, 3).toUpperCase(); } } // 按要求格式输出结果 console.log(`${bestMonth} ${maxSales}`); // 输出:FEB 400000
关键逻辑说明
- 用
for...of遍历数组,直接解构子数组的两个元素,比传统for循环更简洁易读 - 每次遍历都比较当前销售额和
maxSales,如果更大就更新最大值和对应月份 - 用
slice(0,3)提取月份的前三个字符,再用toUpperCase()转成大写,满足输出格式要求
如果遇到多个月份销售额相同且都是最高值的情况,上面的代码会保留第一个出现的最高值月份,如果需要输出所有最高值月份,可以把bestMonth改成数组来存储。
内容的提问来源于stack exchange,提问作者user20581800
相关产品推荐
相关产品推荐

