繁体   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