์ฐ์ ์ฒ์์ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ๊ฐ์ฒด ์์
const obj = {
'1': 3,
'2': 2,
'3': 1
}
์ด๋ฐ ์์ผ๋ก '์ซ์' : ๋ฐ๋ณต๋๋ ํ์
ํํ๋ก ๋ฃ์ผ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
nums๋ฅผ for๋ฌธ ๋๋ฉด์ obj[num] ๊ฐ์ด ์์ผ๋ฉด ๋ฐ๋ณตํ์๋ฅผ 1 ์ฆ๊ฐ์ํค๊ณ ๊ฐ์ด ์์ผ๋ฉด 1๋ฒ ๋ฐ๋ณต๋๊ฒ์ด๋ฏ๋ก ๊ฐ์ 1๋ก ์
ํ
ํ๋ค.
๊ทธ ํ์ obj๋ฅผ for๋ฌธ์ ๋๋ฉด์ ์ ๋ฐฐ์ด arr์ ํธ์ฌํ๋ค.
๊ทธ๋ผ arr์๋ ์ด๋ฐ์์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋๋ค.
[ [ 1, 3 ], [ 2, 2 ], [ 3, 1 ] ]
๊ทธ๋ฆฌ๊ณ ๋์ sort
ํจ์๋ฅผ ํตํด 1๋ฒ์งธ index(๋ฐ๋ณต๋๋ ํ์) ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
arr.sort( (a, b) => b[1] - a[1])
๋ง์ง๋ง์ผ๋ก result๊ฐ์ ๋ด์ ์ ๋ฐฐ์ด์ ์ ์ธ ํ k๋งํผ ๋ฐ๋ณต๋ฌธ์ ๋๋ฉด์ result์ arr[i][0]
๊ฐ (ํค ๊ฐ = ๋ฌด์จ ์ซ์์ธ์ง)์ pushํด ์ค ํ ๋ฆฌํดํ๋ค.
ํ๊ธด ํ์์ง๋ง ๋๋ฌด ๋ง์ ๊ฐ์ฒด์ ๋ฐฐ์ด์ ์์ฑํด์ for๋ฌธ ๋๋ฆฌ๋ ๋ก์ง์ด ๋๋ฌด ๋ง์๊ฒ ๋นํจ์จ์ ์ธ ๋ก์ง๊ฐ์์ ์ค์ฌ๋ณด๊ณ ์ ํ์ง๋ง ์คํจํ๋ค...... (๐ฅฒ)
์คํ๋ ค ๋ ๊ธธ๊ณ ๋นํจ์จ์ ์ธ ๋ก์ง์ด ๋์ด๋ฒ๋ฆฐ filter๋ฅผ ์ฌ์ฉํ ์ฝ๋๋ฅผ ์ฒจ๋ถํ๋ค..