Must Know 15 JavaScript Array Methods (part 1)
অ্যারে কি?
অ্যারে একটি বিশেষ ভ্যারিয়েবল যা একসঙ্গে একাধিক মান ধারণ করতে পারে।ধরুন, আপনার কাছে যদি ১০০০ মেম্বারের লিস্ট থাকে এবং লুপের মাধ্যমে একজন মেম্বারকে পেতে চান!
তাহলে এর সমাধান হচ্ছে অ্যারে।
আসা করি অ্যারে main concept টা বুঝতে পেরেছেন। তবে আমি আজকে ১৫ টি জাভাস্ক্রিপ্ট built-in মেথড নিয়া কথা বলব।
সেগুলা হলঃ
- some()
- reduce()
- every()
- map()
- flat()
- filter()
- forEach()
- findIndex()
- find()
- sort()
- concat()
- fill()
- includes()
- reverse()
- flatMap()
আমি ধরে নিয়েছি আমরা সবাই js basic জানি ।
আমি স্টার্ট করার আগে সিম্পল দুটি function এর পার্থক্য দেখাবো ।
//Instead of using this way
valueOfArray.some(test => {
if (test === "d"){
return test
}
})//আমরা এই shorter function ব্যবহার করব।
valueOfArray.some(test => test === "d" )
- some()
এই মেথডটা নরমালি boolean vlaue return করে true
or false
অর্থাৎ একটা অ্যারে থাকবে, সেই অ্যারে মধ্য কিছু value থাকবে সেখান থেকে একটি value নিয়া compare করবে যদি value টা পাওয়া যায় তাহলে true
আর যদি পাওয়া না যায় তাহলে false
return করবে।
const valueOfArray = ["a", "b", "c", "d", "e"]valueOfArray.some(test => test === "a")//---->OutPut : true
2. reduce()
এইটা খুবই গুরুত্বপূর্ণ একটা মেথড, যখন বড় কোন প্রোজেক্ট নিয়া কাজ করবেন reduce
মেথডটা লাগবে।
ধরুন আপনাকে একটা অ্যারে সবগুলা element কে +
or -
or /
or *
করতে বলা হল, আপনার তখনি মনে হবে অহহ এইটা লুপ দিয়া করে ফেলব অর্থাৎ ঃ
var arr = [1,2,3,4,5]
var sum = 0
for(var i=0; i<arr.length; i++){
sum+= arr[i]
}
console.log("sum of: "+ sum)
//output: 15
লুপ use করে যেইটা করলেন এইটা হল নরমাল মেথড। তাহলে আমরা javaScript ডেভেলপার অইভাবে করব কেন ??
আমরা করব reduce
মেথড use করে যেটা কিনা অ্যারে left-right প্রত্যেকটা elements calculation করে আপনাকে just result টা দেখাবে। কি মজার না !
var arr = [1,2,3,4,5]var result = arr.reduce(a, b) => a*b
console.log(result)
//output: 15
মনে রাখবেন reduce
মেথড দুটি আর্গুমেন্ট return করবে।
3. every()
অ্যারে মধ্য যতো গুলা elements থাকবে সবগুলাই টেস্ট করবে function এর মধ্য একটা parameter pass করে। এইটা return করবে true
যদি অ্যারে মধ্য সবগুলাই match করে parameter এর সাথে, তাছাড়া false
return করবে ।
var arr = ["a", "b", "c", "d", "e"]arr.every(test => test === "c")
//output : falsevar arr2 = ["a", "a", "a", "a"]arr2.every(test => test === "a" )
//output : true
4. map()*
map
মেথড very very …. important যখন আপনি javaScript এর কোন framework নিয়া study করবেন তখন দেখবেন এই মেথডটার কত কাজ।
মনে রাখবেন
map
মেথড একটা new অ্যারে return করে।
ধরুন আপনাকে একটি অ্যারে সবগুলা elements এর সাথে ২ করে যোগ করতে বলা হল। আপনার মাথায় তখনে আসবে লুপ এর কথা।
var arr = [1,2,3,4,5]var mapArr =[]
for(var i=0; i<arr.length; i++){
mapArr.push(arr[i] + 2 )
}
console.log(mapArr)
//output: 3,4,5,6,7
কি একটা অবস্থা আমরা কেন এইভাবে করে করব ?? আমরা করব js এর awesome built-in মেথড দিয়া।
var arr = [1,2,3,4,5]var newArr = arr.map(value => value * 2 )
console.log(newArr)//output: 3,4,5,6,7ex2:
var arr2 = [5,4,3,2,1]
arr2.map(x => x*x )
//output: 25,16,9,4,1
কি মজার না ! খুব মজার।
5. flat()
flat
মেথডটা নরমালি কিছু sub-array থেকে new array or flat array তৈরি করে।
মনে রাখবেন এই মেথডটা only এক লেভেল depth এ যায়।
var arr = [[1,2],[3,4],5]var newArr = arr.flat()console.log(newArr)
//[1,2,3,4,5]
6. filter()
ধরুন আপনাকে কেও একটা array দিয়া বলল যে এর মধ্য থেকে আমকে odd নাম্বার গুলা বের করে দাও, তাহলে আপনি কি করবেন নিশ্চয় নরমাল ভাবে চিন্তা করবেন লুপ use করে।
var arr = [1,2,3,4,5]var newArr = [] for(var i=0; i<arr.length; i++){
if(arr[i]%2 == 1){
newArr.push(arr[i])
}
}
console.log(newArr)
//output: 1,3,5
আমরা filter
মেথড use করে অনেক সহজ ভাবে করতে পারি ।
মনে রাখবেন
filter
মেথড একটা boolean value return করে
var arr =[1,2,3,4,5]var newArr = arr.filter(value => value % 2 == 1 )
console.log(newArr)//output: 1,3,5ex2:const Array = [
{id: 1, name: "john"},
{id: 2, name: "Ali"},
{id: 3, name: "alamin"},
{id: 4, name: "alamin"},
]Array.filter(element => element.name === "alamin")//output: 0: {id: 3, name: "alamin"},
1: {id: 4, name: "alamin"}
7. forEach()
forEach
মেথডটা নরমালি লুপ এর মত কাজ করে array প্রত্যেকটা elements কে reach করে ।
const array = [
{id: 1, name: "john"},
{id: 2, name: "Ali"},
{id: 3, name: "alamin"},
]array.forEach (element => console.log(element.name))//output: john
Ali
alamin
আসা করি কোন ধরনের পরামর্শ বা তথ্যের জন্য কমেন্ট আমকে জানাতে ভুলবেন না। বাকি মেথড গুলা নেক্সট part এ আলোচনা করব ইনশা আল্লাহ।
সবাই ভালো থাকবেন, সুস্থ থাকবেন।