Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การแมปอาร์เรย์ตัวเลขเป็นออบเจกต์พร้อมรหัสตัวอักษรใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ตัวเลข สำหรับแต่ละตัวเลข ต้องสร้างออบเจกต์ คีย์คือตัวเลขเป็นสตริง ค่าเป็นรหัสตัวอักษร (character code) ที่สอดคล้องเป็นสตริง สุดท้ายคืนค่าอาร์เรย์ของออบเจกต์เหล่านี้

ตัวอย่าง

โค้ดตัวอย่างด้านล่าง:

const arr = [67, 84, 98, 112, 56, 71, 82];
const mapToCharCodes = (arr = []) => {
  const res = [];
  for (let i = 0; i < arr.length; i++) {
    const el = arr[i];
    const obj = {};
    obj[el] = String.fromCharCode(el);
    res.push(obj);
  }
  return res;
};
console.log(mapToCharCodes(arr));

ผลลัพธ์

[ { '67': 'C' }, { '84': 'T' }, { '98': 'b' }, { '112': 'p' }, { '56': '8' }, { '71': 'G' }, { '82': 'R' } ]

คำอธิบายเพิ่มเติม

String.fromCharCode() แปลง Unicode code point เป็นตัวอักษร โค้ดสร้างออบเจกต์แยกต่างหากต่อสมาชิก สามารถใช้ map() ได้: `arr.map(n => ({[n]: String.fromCharCode(n)}))`