"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني إزالة الخصائص بكفاءة من مجموعة من الكائنات في JavaScript؟

كيف يمكنني إزالة الخصائص بكفاءة من مجموعة من الكائنات في JavaScript؟

تم النشر بتاريخ 2024-11-16
تصفح:344

How can I efficiently remove properties from an array of objects in JavaScript?

الإزالة الفعالة للخصائص من مصفوفة من الكائنات

عند التعامل مع مصفوفة تحتوي على كائنات متعددة، فمن الضروري إزالة خصائص محددة من كل كائن . في حين أن النهج المباشر باستخدام حلقة for يمكن أن يكون كافيًا، فإن استكشاف طرق بديلة تستفيد من ميزات ES6 ومعالجة النموذج الأولي يمكن أن يؤدي إلى تطبيقات أكثر كفاءة. هذه التقنية هي تدمير الكائنات، والتي تم تقديمها في ES6. فهو يتيح استخراج خصائص محددة من كائن وتعيين المزيد من المتغيرات الجديدة. في حالة إزالة الخصائص غير المرغوب فيها، يصبح هذا الأسلوب مفيدًا بشكل خاص.

فكر في المثال التالي:const array = [ {سيء: "شيء"، جيد: "شيء" }، {سيء: "شيء"، جيد: "شيء" } ];

لإزالة الخاصية "السيئة" من كل كائن، يمكننا استخدام الكود التالي باستخدام ES6 destructuring:

const newArray = array.map(({ dropAttr1, dropAttr2, .. .keepAttrs }) => keepAttrs);

const array = [
  { bad: "something", good: "something" },
  { bad: "something", good: "something" }
];

يتم استخدام طريقة الخريطة للتكرار على كل كائن في المصفوفة الأصلية.
const newArray = array.map(({ dropAttr1, dropAttr2, ...keepAttrs }) => keepAttrs);
ضمن وظيفة رد الاتصال، يتم تنفيذ تدمير الكائن باستخدام بناء جملة علامات الحذف (...) لالتقاط جميع الخصائص التي يجب الحفاظ عليها في الكائن الجديد (keepAttrs).

تعمل متغيرات dropAttr1 وdropAttr2 كعناصر نائبة لأي كائن. الخصائص الأخرى التي ترغب في استبعادها.
  • مزايا تفكيك الكائنات ES6

الأداء: تتميز عملية تدمير الكائنات بكفاءة عالية إنه يتجنب الحمل الزائد لاستخدام حلقة for ويقوم بتعيين القيم مباشرة للمتغيرات المطلوبة.

    الإيجاز:
  • الكود أقصر وأكثر نظافة بشكل ملحوظ مقارنة بالنهج القائم على الحلقة، مما يعزز إمكانية القراءة وقابلية الصيانة.
  • قابلية التوسعة:
  • عند إضافة خصائص جديدة إلى الكائنات الموجودة في المصفوفة في المستقبل، فإن الكود سوف يستبعدها تلقائيًا من عملية التدمير، مما يضمن الأداء السليم.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3