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

ดึง property จากอ็อบเจกต์ใน JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ชื่อ extract() ที่ดึง property จากอ็อบเจกต์หนึ่งไปอีกอ็อบเจกต์หนึ่ง และลบมันออกจากอ็อบเจกต์ต้นฉบับ

ตัวอย่างเช่น:

ถ้า obj1 และ obj2 เป็นสองอ็อบเจกต์ แล้ว:

obj1 = {color: "red", age: "23", name: "cindy"}
obj2 = extract(obj1, ["color", "name"])

หลังผ่านฟังก์ชัน extract พวกมันควรกลายเป็น:

obj1 = { age: 23 }
obj2 = {color: "red", name: "cindy"}

มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน:

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

const obj = {
  name: "Rahul",
  job: "Software Engineer",
  age: 23,
  city: "Mumbai",
  hobby: "Reading books"
};

const extract = (obj, ...keys) => {
  const newObject = Object.assign({});
  Object.keys(obj).forEach((key) => {
    if (keys.includes(key)) {
      newObject[key] = obj[key];
      delete obj[key];
    }
  });
  return newObject;
};

console.log(extract(obj, 'name', 'job', 'hobby'));
console.log(obj);

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้:

{ name: 'Rahul', job: 'Software Engineer', hobby: 'Reading books' }
{ age: 23, city: 'Mumbai' }