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

การแปลงอาร์เรย์เป็นออบเจ็กต์ด้วยการแยกคีย์-ค่า - JavaScript

แปลงอาร์เรย์สตริงรูปแบบ "key-value" เป็นออบเจ็กต์

ตัวอย่าง

Input: ["playerName-Kai Havertz", "age-21", "nationality-German", ...]
Output: { playerName: "Kai Havertz", age: "21", nationality: "German", ... }

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

const arr = [
  "playerName-Kai Havertz",
  "age-21",
  "nationality-German",
  "postion-CAM",
  "languages-German,English,Spanish",
  "club-Chelsea"
];

const arrayToObject = arr => {
  const obj = {};
  arr.forEach(string => {
    const [key, value] = string.split("-");
    obj[key] = value;
  });
  return obj;
};

console.log(arrayToObject(arr));

การทำงาน

  • forEach วนแต่ละสตริง
  • split("-") แยก key และ value (split แค่ครั้งแรก)
  • Destructuring assignment: const [key, value] = ...

ผลลัพธ์

{
  playerName: 'Kai Havertz',
  age: '21',
  nationality: 'German',
  postion: 'CAM',
  languages: 'German,English,Spanish',
  club: 'Chelsea'
}

ข้อควรระวัง: หาก value มี "-" อยู่ด้วย จะถูกตัดแยกผิด ควรใช้ split("-", 2) หรือ indexOf