[英]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.