جمع المصفوفات المتقدم في AngularJS
في AngularJS، يمكن أن يكون جمع خصائص المصفوفة مهمة شائعة. يتضمن النهج الأساسي التكرار عبر المصفوفة وتجميع قيم الخاصية. ومع ذلك، تصبح هذه الطريقة مملة عندما تواجه مصفوفات متعددة وأسماء خصائص مختلفة.
لمعالجة هذه المشكلة، مطلوب حل أكثر مرونة وقابل لإعادة الاستخدام، حل يسمح بجمع مناسب لأي خاصية مصفوفة. يمكن تحقيق ذلك باستخدام طريقة الاختزال ()، والتي توفر طريقة فعالة لتجميع قيم المصفوفة.
فكر في المثال التالي:
$scope.traveler = [ { description: 'Senior', Amount: 50}, { description: 'Senior', Amount: 50}, { description: 'Adult', Amount: 75}, { description: 'Child', Amount: 35}, { description: 'Infant', Amount: 25 }, ];
لجمع خاصية "المبلغ" لمصفوفة المسافر باستخدام تقليل()، يمكننا كتابة طريقة على النحو التالي:
$scope.sum = function(items, prop){ return items.reduce( function(a, b){ return a b[prop]; }, 0); };
في هذه الطريقة، نستخدم طريقة التخفيض () مع وظيفة رد اتصال تقبل وسيطتين: القيمة المتراكمة (أ) والعنصر الحالي (ب) للمصفوفة. ضمن رد الاتصال، نصل إلى الخاصية التي نريد جمعها (الدعامة) وإضافتها إلى القيمة المتراكمة.
لتطبيق هذه الطريقة على مصفوفة المسافر الخاصة بنا، يمكننا القيام بما يلي:
$scope.travelerTotal = $scope.sum($scope.traveler, 'Amount');
باستخدام هذا الأسلوب، يمكننا بسهولة جمع قيم خصائص أي مصفوفة في AngularJS طلب. من خلال تحديد طريقة قابلة لإعادة الاستخدام، نتجنب التعليمات البرمجية الزائدة ونضمن الاتساق في حساباتنا التجميعية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3