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

สร้างอ็อบเจกต์จากสตริงใน JavaScript

เราต้องเขียนฟังก์ชันที่รับสตริงเป็นอาร์กิวเมนต์แรกและตัวเดียว และสร้างอ็อบเจกต์ที่มี 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 }