ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็มไม่เป็นลบที่ไม่ซ้ำกัน ฟังก์ชันของเราควรคืนค่าจำนวนเต็ม 32 บิต โดยที่จำนวนเต็มในการแทนค่าไบนารีมี 1 ที่ดัชนีเท่านั้น (นับจากด้านขวา) ซึ่งอยู่ในลำดับ
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [1, 2, 0, 4]; const buildDecimal = (arr = []) => { const bitArr = Array(31).fill(0); let res = 0; arr.forEach(el => { bitArr.splice((31 - el), 1, 1); }) bitArr.forEach((bit, index) => { res += (2 * (31-index) * bit); }); return res; }; console.log(buildDecimal(arr));
ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
14