জাভাস্ক্রিপ্ট একটি খালি অ্যারে হ্রাস করুন


104

আমি যখন অ্যারে হ্রাস করি তখন আমি সংখ্যাটি শূন্য পাওয়ার চেষ্টা করছি তবে আমি ফাংশনটির আচরণটি স্পষ্টভাবে বুঝতে পারি না

[].reduce(function(previousValue, currentValue){
  return Number(previousValue) + Number(currentValue);
});

ফলাফল

TypeError: Reduce of empty array with no initial value

মনে হচ্ছে অ্যারেটি খালি থাকলে আমি এটি হ্রাস করতে পারি না

[""].reduce(function(previousValue, currentValue){
  return Number(previousValue) + Number(currentValue);
});

ফলাফল

""

অ্যারেতে কেবলমাত্র উপাদানটি যদি খালি স্ট্রিং হয় তবে একটি খালি স্ট্রিং পুনরুদ্ধার করে

উত্তর:



24

উভয় আচরণই অনুমান অনুসারে ।

আপনি reduceএকটি খালি অ্যারে পারবেন না যদি না আপনি স্পষ্টভাবে দ্বিতীয় আর্গুমেন্ট হিসাবে প্রাথমিক "সঞ্চিত" মান সরবরাহ করেন:

যদি প্রাথমিক ভ্যালু সরবরাহ না করা হয়, তবে পূর্ববর্তী মূল্য অ্যারেতে প্রথম মানের সমান এবং কারেন্টভ্যালু দ্বিতীয়টির সমান হবে। যদি অ্যারেতে কোনও উপাদান থাকে না এবং প্রারম্ভিক মূল্য সরবরাহ না করা হয় তবে এটি টাইপআরআর।

অ্যারেতে যদি কমপক্ষে একটি উপাদান থাকে তবে প্রাথমিক মান সরবরাহ করা isচ্ছিক। তবে, যদি একটি সরবরাহ না করা হয় তবে অ্যারের প্রথম উপাদানটি প্রাথমিক মান হিসাবে ব্যবহৃত হয় এবং reduceআপনার কলব্যাকের সাহায্যে বাকী অ্যারে উপাদানগুলির প্রক্রিয়া চালিয়ে যায়। আপনার ক্ষেত্রে অ্যারেতে কেবল একটি একক উপাদান থাকে, সুতরাং সেই উপাদানটি প্রাথমিক মান এবং চূড়ান্ত মানও হয়ে যায়, কারণ কলব্যাকের মাধ্যমে প্রক্রিয়া করার মতো কোনও উপাদান নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.