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

كيفية تحديد خاصية عشوائية بكفاءة من كائن جافا سكريبت؟

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

How to Efficiently Select a Random Property from a JavaScript Object?

تحديد خاصية عشوائية من كائن JavaScript

يعد جلب خاصية عشوائية من كائن JavaScript مهمة أساسية يمكن أن تنشأ في مختلف الأكواد البرمجية سيناريوهات. خذ بعين الاعتبار كائنًا يحتوي على أزواج قيمة مفتاحية مثل:

{cat: 'meow', dog: 'woof', snake: 'hiss'}

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

الحل الأمثل

يتم توفير حل أكثر إيجازًا وفعالية لاختيار خاصية عشوائية من كائن بواسطة الكود التالي:

var randomProperty = function (obj) {
    var keys = Object.keys(obj);
    return obj[keys[ keys.length * Math.random() << 0]];
};

يستخدم هذا الكود الخطوات التالية:

  1. يسترجع كافة مفاتيح خصائص الكائن باستخدام Object.keys()، مما يؤدي إلى مجموعة من المفاتيح.
  2. ينشئ فهرسًا عشوائيًا ضمن نطاق مؤشرات المصفوفة باستخدام Math.random().
  3. الوصول إلى الخاصية في الفهرس المحسوب باستخدام عامل تدوين القوس [ ].

هذا الحل يتجنب الحاجة إلى الحلقات ويجلب الخاصية العشوائية مباشرةً، مما يجعلها موجزة وأسرع من الناحية الحسابية.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3