如何按字典顺序对例如[aa bb cc dd ee],其中您采用第一个按字典顺序最小的名称,并将其附加到按字典大的名称,然后采用第二个按字典最小的名称,并将其附加到第二个按字典最大的名称。而且,如果您有奇数个像cc这样的元素,我想输出应该是整个字符串eeaaccddbb。我没有在Mozilla Developer工具中找到按字典顺序排列的功能。如果它们是数组元素的偶数,则仅返回相应的串联。
答案 0 :(得分:0)
这里很好:p
function weirdSortConcat(arr) {
// sort lexicaly by default
// to be exact sort by char code so digits(0-9) are before maj(A-Z) which are before min(a-z)
arr.sort()
let output = ""
// for half of the array
for (let i = 0; i < Math.floor(arr.length / 2); i++) {
// take starting at the end then starting by the start
output += arr[arr.length - i - 1] + arr[i]
}
// if length is odd add last element to output
if (arr.length % 2 === 1) {
output += arr[Math.floor(arr.length / 2)]
}
return output
}
console.log(weirdSortConcat(["aa", "bb", "cc"]))
console.log(weirdSortConcat(["aa", "cc", "bb"]))
console.log(weirdSortConcat(["aa", "bb", "cc", "dd"]))