How would you use JavaScript Reduce( بازسازی فیلم )

How-would-you-use-JavaScript-reduceچگونه میتوان از reduce در جاوا اسکریپت استفاده کرد؟بازسازی فیلم لینداکاهش یک تابع مرتبه بالاتر است، درست مانند روش نقشه که در هفته قبل پوشش داده بودیم. اکنون،آن برای حل یک مساله مشترک طراحی شده‌است، که از یک فهرست عناصر عبور می‌کند و یک مقدار واحدمرتبط با آن‌ها را در نتیجه بازیابی می‌کند. پس بیایید نگاهی به این بیندازیم که چطور این کار را با جاوا اسکریپت سنتی انجام دهیم. بنابراین شما احتمالا چیزی مانند یک متغیر برای نگه داشتن یک مجموعهاجرا ایجاد می‌کنید، و سپس یک نوع آرایه‌ای برای نگه دارید تا فهرست عناصری که می‌خواهید از آن عبورکنید را در نظر بگیرید. و سپس می‌توانید از چیزی مانند یک حلقه برای تکرار از طریق آن آیتم‌های مختلف آرایه استفاده کنید.بنابراین شاید این مقدار کل را بردارید و به اضافه کردن مقادیر هر یک از عناصر در آرایه ادامه دهید. اینیک کمی آشفته‌است، و نقشه برای حل این مشکل طراحی شده‌است که یک الگوی بسیار رایج در جاوا اسکریپت است. بنابراین let's نگاهی به این که چطور آن به کاهش نیاز دارد، می‌اندازیم. در حال حاضر،کاهش به جایی خواهد رسید که در آن می‌توانید یک سری از پارامترها را طی کنید. بنابراین این روش کاهش در این روش کاهش در اینجا است. شما می‌توانید ببینید که یکی از تفاوت‌های اصلی این است که روش کاهش به دنبال نتیجه عمل خواهد بود.بنابراین نیازی به ایجاد یک متغیر مجزا نداریم. ما فقط نتایج کاهش تابع را به متغیری که می‌خواهیمتعیین می‌کنیم. در حال حاضر، چیزی که ما در این callback شامل می‌شود یک incrementer و نیز هریک از موارد منحصر به فرد است که قرار است از آن عبور کنیم. در این حالت، incrementer نتیجه اضافهشدن هر کدام از این موارد خواهد بود. بنابراین برای اولین بار این کار، ارزش این incrementer دو برابرخواهد بود. دومین بار، آن دو به علاوه سه خواهد بود، که پنج سال خواهد بود.و بعد نه، و غیره و غیره. همانطور که از این کارکرد می‌گذرد، به incrementing و بازگشت آن مقادیر ادامهخواهد داد. مقدار مورد مورد مقدار هر یک از عناصر در آرایه را در زمانی که از آن‌ها عبور می‌کنیم، خواهدداشت. حال، نتیجه همه این افزایش‌ها در این متغیر کلی ذخیره می‌شوند، و سپس ما می‌توانیم به راحتیآن را تولید کنیم. حالا همانطور که گفتم، کاهش تابع مرتبه بالاتری است. بنابراین، چون یک مقدار را برمی گرداند، شما می‌توانید از آن‌ها با کارکرده‌ای درجه بالاتر دیگری مثل نقشه استفاده کنید و آن‌ها را درمجموعه‌ای از روش‌های مختلف ترکیب کنید، مانند این سمت راست.بنابراین در اینجا ما این تابع را استخراج کردیم که اکنون addEm نامیده می‌شود و addEm را می تواناینگونه به آن اشاره کرد. به جای of در روش کاهش، می‌توانیم به آن به عنوان یک تابع مجزا اشاره کنیم. واز آنجا که ما از این روش نقشه استفاده می‌کنیم، در واقع می‌توانیم آن‌ها را صف کنیم و آرایه اصلی را با استفاده از تابع نقشه تغییر دهیم و سپس از کاهش نتایج نقشه به یک مقدار واحد کاسته شود.حال، در این مورد، نتیجه ۲۵ می‌شود زیرا ما اول یک به هر یک از این اعداد اضافه می‌کنیم و سپس بااضافه کردن اعداد به یکدیگر آن‌ها را کاهش می‌دهیم. پس ما می‌توانیم این کار را به شکل پی‌درپی انجام دهیم، مانند این. در حال حاضر، برای روش‌های ساده، این عملکردها مانند شرکت پرامتیوس و addEmمعمولا در نماد arrow ES۶ newer بیان می‌شوند. بنابراین شما می‌توانید ببینید که ما اینجا چه کارمی‌کنیم، همان کاری که قبل از انجام دادن کار انجام می‌دادیم. اما ما در واقع اول متغیر را ایجاد می‌کنیم،و سپس از عملکرد فلش برای حفظ ارزش روش‌هایی که می‌خواهیم ایجاد کنیم استفاده می‌کنیم.پس این معادل the در اینجا است، و این معادل of است. چون ما دو چیز داریم که در حال عبور از آنهستیم، باید این پرانتز را اینجا داشته باشیم، اما اینجا نه. بنابراین، اگر شما به کمک به نحوه کار باعملکرد فلش نیاز دارید تا این موضوع واضح‌تر شود، اطمینان حاصل کنید که این قسمت را بررسی کنید.در چند صفحه دیگر که در آن می‌توانید اطلاعات بیشتری دریافت کنید، از جمله صفحات شبکه توسعهموزیلا برای کاهش و نقشه، و همچنین من فقط در مورد عملکردهای فلش در ES۶ اشاره کردم، و چهارکلاس عالی دیگر با بسیاری از این نوع دانش که شما نیاز دارید در یک مصاحبه نیاز داشته باشید.در اخر نیز شما را دعوت میکننم به ویدیو باز تولید شده: https://www.aparat.com/v/UBZtD