我有一组字母和数字。
让 sortLetters =
[“R”、“1”、“U”、“1”、“N”、“1”、“D”、“1”、“M”、“1”、“C”、“1”]
我想按字母顺序对类型进行排序,然后返回我遇到的第一个字母。
我的预期输出应该是C
。
目前,我的代码可以正确对所有类型进行排序,但如果我尝试过滤掉数字,它不会返回我需要的内容。任何帮助表示赞赏。
let sortLetters = [ 'R', '1', 'U', '1', 'N', '1', 'D', '1', 'M', '1', 'C', '1' ]
const sortBothType =(arr)=> {
return [...arr].sort((a, b) => a.localeCompare(b));
}
const getFirstLetter = (arr) =>{
let result = ''
for(let x = 0; x <= arr.length;x++){
if( parseInt(arr[x]) === 'string'){
return arr[x]
}
}
}
let sortedType = sortBothType(sortLetters)
sortedType
getFirstLetter(sortedType)
let finalResult = getFirstLetter(sortedType)
最佳答案
首先过滤掉所有数字,然后排序,最后访问第一个数组成员。这将为您提供示例中的 C
:
sortLetters.filter(x=>/\D/.test(x)).sort()[0]
关于javascript - 我试图过滤然后对数字和字符串数组进行排序,但我的代码无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55542073/