gpt4 book ai didi

Javascript 在循环中返回最大的值

转载 作者:行者123 更新时间:2023-11-29 16:45:32 25 4
gpt4 key购买 nike

当我在元素的第一部分有重复项时,我想返回最大的。我已经对数组进行了排序,它看起来像:

var sortedMyArray = ["4ff02829-df7e/0", "4ff02829-df7e/10", "8c138c02-c139/37", "54be465f-0c03/41", "b2036e03-384f/4", "b2036e03-384f/32", "b2036e03-384f/35"];

我的预期结果是:

["4ff02829-df7e/10"、"8c138c02-c139/37"、"54be465f-0c03/41"、"b2036e03-384f/35"];

到目前为止我的代码是:

for(var i=0;i<sortedMyArray.length;i++){
for (var k = i + 1; k < sortedMyArray.length; k++) {
if(sortedMyArray[i].split('/')[0] == sortedMyArray[k].split('/')[0]){
console.log('First values of element equal so remove the smallest element');

if(sortedMyArray[i].split('/')[1]<sortedMyArray[k].split('/')[1]){
sortedMyArray.splice(sortedMyArray[i],1);
}
}
}
}

最佳答案

由于您的数组已排序,因此您可以过滤掉具有相同字符串的下一个元素的每个元素,直到 '/':

result = sortedMyArray.filter( function ( el, i ) {
if ( i + 1 === sortedMyArray.length )
return true;
return el.split( '/' )[ 0 ] !== sortedMyArray[ i + 1 ].split( '/' )[ 0 ];
} );

这假设您的数组已正确排序,因此您始终希望保留带有每个前缀的最后一个条目。以防万一,我建议您仔细检查以 /2/10 结尾的情况,您的排序行为是否符合您的要求。

关于Javascript 在循环中返回最大的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42016892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com