logo

כיצד להסיר מפתח/מאפיין מאובייקט ב-JavaScript

מבוא:

אובייקטי JavaScript מורכבים ממאפיינים, שהם רק ערך מפתח זוגות. למעשה, מאפיינים מורכבים מזוג מפתחות וערכים שיכולים לייצג כל סוג של ישות. אפילו לפונקציות יש את היכולת לתפקד כערך או כמפתח בכל אובייקט. בכל מקרה, בחלק זה, נדבר על איך למחוק מפתחות מ-Object JavaScript.

הערך המשויך למפתח נמחק אוטומטית כאשר המפתח מוסר. אז, ביטול מפתח רק כרוך בביטול התכונה הזו. יש כעת שלוש דרכים ב-JavaScript להסיר מפתחות מאובייקטים. בואו נסתכל במהירות על כל אחד מהם.

10 מתוך 60

במידת הצורך, ניתן למחוק מאפיינים באובייקטי JavaScript. ישנן שלוש שיטות פשוטות שאנו יכולים להשתמש בהן כדי למחוק במהירות כל מאפיין אובייקט. הטכניקה הראשונה עושה שימוש ב- לִמְחוֹק operator, אופרטור מסוים ב-JavaScript, השיטה השנייה עושה בו שימוש הרס אובייקט , והשיטה השלישית עושה שימוש ב- Reflect.deleteProperty() שיטה.

1. הסר מאפיין מאובייקט JavaScript באמצעות אופרטור המחיקה:

אופרטור המחיקה הוא אופרטור ספציפי ב-JavaScript. אם ברצוננו להסיר מפתח מ-Object JavaScript, השתמש ב- מחק מפעיל . אופרטור המחיקה עושה בדיוק מה ששמו מרמז: הוא מסיר את המאפיין שסופק מהאובייקט. אם כי, ראשית עלינו לקבל גישה לנכס כדי למחוק אותו. ניתן להשתמש במאפיין הנקודה או בסוגריים המרובעים כדי לגשת למאפיין האובייקט.

מחק בשיטת הנקודה:

תחביר:

 delete object.property; 

דוגמא:

 let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } console.log(emp); 

תְפוּקָה:

 { name: 'saswat', age: 26, designation: 'Software Engineer' } age: 26 designation: 'Software Engineer' name: 'saswat' 

בואו נסיר את מאפיין הגיל בצורה מבוססת נקודות.

 delete emp.age; console.log(emp); 

תְפוּקָה:

 { name: 'saswat', designation: 'Software Engineer' } designation: 'Software Engineer' name: 'saswat' 

הֶסבֵּר:

אנו יכולים לראות מהפלט שלמעלה שאופרטור המחיקה היה יעיל במחיקת האובייקט של emp's גיל רכוש (דרך נקודות) .

מחק בשיטת הסוגריים המרובעים:

תחביר:

 delete object['property']; 

בוא נשתמש בסוגריים מרובעים כדי למחוק את מאפיין הייעוד מאותו אובייקט emp.

 let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } delete emp['designation']; console.log(emp); 

תְפוּקָה:

 { name: 'saswat', age: 26 } name: 'saswat' age: 26 

הֶסבֵּר:

אנו יכולים לראות מהפלט שלמעלה שאופרטור המחיקה הצליח למחוק את ייעוד המאפיין של האובייקט emp (בצורה בסוגריים מרובעים) .

2. הסר מאפיין מאובייקט JavaScript באמצעות פירוק אובייקט:

הרס אובייקט יכול לשמש גם כדי להסיר מאפיין מאובייקט, אבל יש מלכוד. במקום לשנות את האובייקט המקורי, נוצר אובייקט חדש שאינו כולל את המאפיין שנמחק. באופן זה, הפריט המקורי נשמר (לא משתנה).

תחביר:

 const{ propertyToRemove, ...newObject } = OriginalObject; 

דוגמא:

 const laptop = { brand: 'HP', model: 'Notebook', year: 2020, } const {model, ...newLaptop} = laptop; console.log(newLaptop); console.log(laptop); 

תְפוּקָה:

פורמט מחרוזת
 { brand: 'HP', year: 2020 } { brand: 'HP', model: 'Notebook', year: 2020 } 

הֶסבֵּר:

בדוגמה שהוזכרה לעיל, הסרנו מאפיין מאובייקט באמצעות אובייקט הרס מבנה . כאשר השתמשנו בdestructuring של אובייקטים כדי להסיר את מודל המאפיינים מהמחשב הנייד המקורי של האובייקט, השגנו את האובייקט החדש המחשב הנייד שלי בלי הנכס הזה. שוב, הפלט מוכיח שהפריט המקורי נשאר ללא שינוי.

3. הסר מאפיין מאובייקט JavaScript באמצעות שיטת Reflect.deleteProperty():

ה Reflect.deleteProperty() השיטה מסופקת על ידי אחד מאובייקטי JavaScript המובנים הנקראים 'משקף' . גישה זו מקבילה לצורת הפונקציה של אופרטור המחיקה, עליה דנו.

דוגמא:

 const cars = { car1: 'Honda', car2: 'Tata', car3: 'Toyota' }; Reflect.deleteProperty(cars, 'car2'); console.log(cars); 

תְפוּקָה:

 { car1: 'Honda', car3: 'Toyota' } 

הֶסבֵּר:

בדוגמה למעלה, היה אובייקט שנקרא 'מכוניות' שהיו לה שלושה נכסים. כדי להסיר את מכונית 2 מאפיין מאותו אובייקט, השתמשנו ב- Reflect.deleteProperty() שיטה. הפלט מוכיח שמחיקת המאפיין car2 מאובייקט cars הצליחה.

לבסוף, ברצוננו לומר שזה לא משנה אם אתה משתמש ב- מחק מפעיל או ה Reflect.deleteProperty() שיטה כי שניהם עושים את העבודה עם אותה מורכבות זמנית. עם זאת, ניצול הרס אובייקט לוקח יותר זמן. לפיכך, בשל התחביר הפשוט ומורכבות הזמן הנמוכה שלו, אופרטור המחיקה הוא השיטה הפופולרית ביותר להסרת מפתחות מאובייקטי javascript.

סיכום

אובייקטי JavaScript מורכבים ממאפיינים, שהם רק צמדי מפתח-ערך. הערך המשויך למפתח נמחק אוטומטית כאשר המפתח מוסר.