Array.prototype.map() অ্যারের প্রতিটি এলিমেন্টের জন্য একটি ফাংশন কল করার পর এর যে ফলাফলের তৈরী হয় সেটাকে এক-একটি নতুন অ্যারে তৈরি করে প্রকাশ করে।
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
const array1 = [1, 4, 9, 16]; const map1 = array1.map(x => x * 5); var arr = [1, 2, 3, 4]; var vv1 = arr.map(x => [x * 3]); console.log(map1); console.log(vv1); Answer: [ 5, 20, 45, 80 ] [ [ 3 ], [ 6 ], [ 9 ], [ 12 ] ] |
সে মেইন এর পরিবর্তন করে না , একটি নতুন এরা রিটার্ন করে,আমার যদি এমন কিছু করতে হয় যে Array এর প্রতিটা এলিমেন্ট এর মধ্য দিয়ে একটি লোপ চালাতে হবে বা একটা কিছু পরিবর্তন করতে হবে এবং এটা করার পর মেইন Array কোন পরিবর্তন হবে না কিন্তু নতুন একটি পরিবর্তিত Array পাব। যেটা for লুপের বা forEach এর পরিবর্তে করা হয় আধুনিক ES6 এর Js এ আপডেট করা হয়েছে ।
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var myarr0 = [1,2,3,4,5,6,7] var myarr2 = myarr0.map((x)=>{ return [x,x] }); console.log(myarr2); Answer: [ [ 1, 1 ], [ 2, 2 ], [ 3, 3 ], [ 4, 4 ], [ 5, 5 ], [ 6, 6 ], [ 7, 7 ] ] |
অর্থাৎ Array প্রতিটা এটাকে পরিবর্তন করে যে একটা নতুন ফাইনালে Array পাব মেইন Array পরিবর্তন না করে সেটা map() এর কাজ , এদের মেইন কাজটা হলো অ্যাপ্লাইকৃত Array প্রত্যেকটা আইটেমে এর উপর একটা ফাংশন অ্যাপ্লাই করা , লুপ এর মতোই কিন্তু লুপের মতো এতটা জটিল না
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var exapm = ["everyone like","javaScript","as programming language"]; exapm2 = exapm.map((element)=>{ return element.split(" "); }); console.log(exapm2); Answer [ [ 'everyone', 'like' ], [ 'javaScript' ], [ 'as', 'programming', 'language' ] ] |