ปัญหา
เราต้องเขียนฟังก์ชัน 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)}))`