Blackhacker نشر 28 يناير 2016 أرسل تقرير نشر 28 يناير 2016 لدي مصفوفة وأريد استخراج مواقع العناصر التي تتطابق مع شرط معينة، فمثلا لو أملك مصفوفة تحتوي على أرقام فأريد الحصول على مواقع العناصر التي قيمتها 2 فما الطريقة الصحيحة لفعل ذلك؟ اقتباس
0 هشام رزق الله نشر 28 يناير 2016 أرسل تقرير نشر 28 يناير 2016 يوجد العديد من الطرق في لغة روبي لفعل ذلك، وأفضل هذه الطرق هي عن طريق استخدام تابع each_index ومن ثم تضع الشرط داخل select كما يظهر في المثال التالي:list = [1,2,4,3,2,3,4,2] p arr.each_index.select{|i| list[i] == 2} #[1, 4, 7] أو يمكنك استخدام توابع times أو size مع وضع الشرط في select كما في المثال التالي:list.size.times.select {|i| list[i] == 2} وتوجد طريق أخرى يمكنك استخدامها كالتالي:list.map.with_index {|a, i| a == 2 ? i : nil}.compact الطرق مرتبة من الأفضل والأسرع إلى أقل من ذلك. اقتباس
السؤال
Blackhacker
لدي مصفوفة وأريد استخراج مواقع العناصر التي تتطابق مع شرط معينة، فمثلا لو أملك مصفوفة تحتوي على أرقام فأريد الحصول على مواقع العناصر التي قيمتها 2 فما الطريقة الصحيحة لفعل ذلك؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.