เราต้องเขียนฟังก์ชันที่รับสตริงเป็นอาร์กิวเมนต์แรกและตัวเดียว และสร้างอ็อบเจกต์ที่มี key ตามตัวอักษรที่ไม่ซ้ำกันของสตริง และค่าของแต่ละ key ถูกตั้งค่าเริ่มต้นเป็น 0
ตัวอย่างเช่น:
// หากสตริงอินพุตคือ:
const str = 'hello world!';
// ผลลัพธ์ควรเป็น:
const obj = {"h": 0, "e": 0, "l": 0, "o": 0, " ": 0, "w": 0, "r": 0, "d": 0, "!": 0};
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน:
ตัวอย่างโค้ด
const str = 'hello world!';
const stringToObject = str => {
return str.split("").reduce((acc, val) => {
acc[val] = 0;
return acc;
}, {});
};
console.log(stringToObject(str));
console.log(stringToObject('is it an object'));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็นดังนี้:
{ h: 0, e: 0, l: 0, o: 0, ' ': 0, w: 0, r: 0, d: 0, '!': 0 }
{ i: 0, s: 0, ' ': 0, t: 0, a: 0, n: 0, o: 0, b: 0, j: 0, e: 0, c: 0 }