簡體   English   中英

使用Javascript獲取數組中相似項目的最大值

[英]Get max value of similar items in array with Javascript

我有一個像這樣的數組:

["13rq8", "13rq6", "13rq4", "13rq2", "13dl", "12dl", "13rq12", "13rq10"]

並且我想得到一個最終的數組,該數組將僅通過字符串的最后數字(“ 13rq8”,“ 13rq6”,“ 13rq4”,“ 13rq2”,“ 13rq12”,“ 13rq10” ),並僅返回最大值,如下例所示:

["13dl", "12dl", "13rq12"]

您能幫我用Java語言解決嗎?

謝謝!

使用一個對象(例如tagNum )來跟蹤每個前綴的最大值,並使用正則表達式提取前綴和尾隨值:

 var l = ["13rq8", "13rq6", "13rq4", "13rq2", "13dl", "12dl", "13rq12", "13rq10"]; var tagNum = {}; l.forEach(function(x) { var m = x.match(/^(.*?)(\\d*)$/); var tag = m[1]; var num = parseInt("0" + m[2]); if (tagNum[tag] === undefined || tagNum[tag] < num) tagNum[tag] = num; }); var l2 = []; for (var tag in tagNum) { var num = tagNum[tag]; if (num) l2.push(tag + num); else l2.push(tag); } console.log(l2); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM