Sort array by last character
Complete the function to sort a given array or list by last character of elements.
Element can be an integer or a string.
If two elements don't differ in the last character, then they should be sorted by the order they come in the array.
function sortMe(arr){
for(let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i].toString().slice(-1) > arr[j].toString().slice(-1)) {
[arr[i], arr[j]] = [arr[j], arr[i]]
}
}
}
return arr;
}
만약 첫 배열의 마지막 요소가 두번째 배열의 요소보다 크다면,
구조 분해를 통해 배열의 앞뒤를 바꿔주었다.
function sortMe(arr) {
return [...arr].sort((a,b) => {
const [x,y] = [a.toString().slice(-1), b.toString().slice(-1)];
if (x !== y) return x.localeCompare(y);
else {
return arr.indexOf(a) - arr.indexOf(b);
}
})
}
indexOF
문자열 내에서 특정한 문자열의 index 값을 리턴한다.
stringVale에서 특정한 문자열의 위치(index)를 반환한다.
탐색하려는 문자열이 존재하지 않는다면 -1을 반환한다.