समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्याओं की एक सरणी लेता है। हमारे फ़ंक्शन को उन संख्याओं के द्विआधारी प्रतिनिधित्व में मौजूद 1s की घटती संख्या के अनुसार संख्याओं को क्रमबद्ध करना चाहिए और नया सरणी वापस करना चाहिए।
उदाहरण
निम्नलिखित कोड है -
const arr = [5, 78, 11, 128, 124, 68, 6]; const countOnes = (str = '') => { let count = 0; for(let i = 0; i < str.length; i++){ const el = str[i]; if(el === '1'){ count++; }; }; return count; }; const sortByHighBit = (arr = []) => { arr.sort((a, b) => countOnes(b) - countOnes(a)); return arr; }; console.log(sortByHighBit(arr));
आउटपुट
[ 5, 78, 11, 128, 124, 68, 6 ]