เราต้องเขียนฟังก์ชัน JavaScript พูด extract() ที่แยกคุณสมบัติจากวัตถุไปยังวัตถุอื่นแล้วลบออกจากวัตถุดั้งเดิม
ตัวอย่างเช่น −
หาก obj1 และ obj2 เป็นสองอ็อบเจ็กต์ ดังนั้น
obj1 = {color:"red", age:"23", name:"cindy"}
obj2 = extract(obj1, ["color","name"]) หลังจากผ่านฟังก์ชันการสกัดแล้ว พวกมันจะกลายเป็นเหมือน −
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' }