May 5, 2023

ARRAYS

BASIC PART

1.Array nima - arraylar bir o'zgaruvchida bir nechta qiymatlarni saqlash uchun ishlatiladi. Arraydagi har bir elementga index orqali murojaat qilsak bo'ladi, arraylarda sanoq nolda boshlanadi va 0-index 1- elementga to'g'ri keladi. typeof qilganimizda array bo'lishiga qaramasdan object qaytaradi.

2.Syntax of array- [ ]

let array =[1,2,3,4,"Hello",null,undefined]

3.Accessing to arrays - elementlarga murojaat qilish

//with []- not include - values
let array =[1,2,3,4];
console.log(array[2]);  

//with at()- includes + - values
let array =[1,2,3,4];
console.log(array.at(-1));
//oxirgi elementiga murojaat qilish
console.log(array[array.length -1])

4. new Array

let array =[1]; // [1]
let newarray = new Array(1); //[ 1 empty array]
let newarray1 = new Array(1,2) // [1,2]; 

5. Nested array-array ichida joylashgan boshqa bir array

let array = [1,2,[3,4],5,6];
console.log(array);
console.log(array[0]);
console.log(array[2]);
console.log(array[3]);
//nested array ichiga elementga murojaat qilish
let array = [1,2,[3,4],5,6];
console.log(array[2][0]);

6. toString() - arrayni string ko'rinishiga o'tkazadi

let array1 = [1,2,3];
let array2 = [4,5];
console.log(array.toString());
console.log(array1+array2);
console.log(array1.concat(array2));

7. Comparisons

console.log([]==0); //true
if([]){
   console.log(true)
} // true qaytadi 
if([].length){
   console.log(true)
} // hich nima qaytmaydi

8. Loop in array

let array = ["olma","kiwi","banan","anor"]
for(i=0; i<array.length; i++){
    console.log(array[i])
}
// with for of
let array = ["olma","kiwi","banan","anor"]
for(key of array){
    console.log(key)
}

9.Array methods

  • length - array uzunligini chiqarib beradi;
  • at(index)- arrayni berilgan indexdagi elementini chiqaradi;
  • push() - array oxiriga element qo'shadi;
  • pop() - array oxiridan elementni olib tashlaydi;
  • shift() - array boshidan element element olib tashlaydi;
  • unshift() - array boshiga element qo'shadi;
  • slice() - kesib olish uchun ishlatiladi, 1 ta parametr bo'lsa berilgan indexdan boshlab kesib oladi, agar 2 ta parametr bo'lsa 1-parametr nechanchi indexdan boshlanishi 2-index nechanchi elementgacha kesib olishi, original arrayga ta'sir qilmaydi;
  • splice() - kesib olish uchun ishlatiladi, 1 ta parametr bo'lsa berilgan indexdan boshlab kesib oladi, agar 2 ta parametr bo'lsa 1-parametr nechanchi indexdan boshlanishi 2-index nechta element kesib olishi, original arrayga ta'sir qiladi;
  • indexOf ()- elementni nechanchi indexda turganini chiqarib beradi, 1 ta parametr bo'lsa o-idexdan boshlab hisoblaydi, 2ta parametr bo'lsa 1-parametr qaysi elementni indexini topish, 2- parametr nechanchi indexdan boshlab qidirishi
  • reverse() - arrar ichidagi elementlarni teskari tartibda chiqaradi;
  • join()- arrayni string tipiga o'tkazadi;
  • include()- array ichida value bor yo'qligini aniqlaydi;
  • concat()- arraylarni bir biriga qo'shib beradi;
Examples with codes
//length
let array = [1,2,3,4];
console.log(array.length);

//at()
let array = [1,2,3,4];
console.log(array.at(2));

//push()
let array = [1,2,3,4];
array.push(5,6);
console.log(array);

//pop()
let array = [1,2,3,4];
array.pop();
console.log(array);

//shift()
let array = [2,3,4];
array.shift();
console.log(array);

//unshift()
let array = [2,3,4];
array.unshift(0,1);
console.log(array);

//slice()
let array = [1,2,3,4,5];
console.log(array.slice(2));
console.log(array.slice(0,3));
console.log(array); // original array

//split()
let array = [1,2,3,4,5]
console.log(array.split(2));
console.log(array.split(1,3));
console.log(array); //original array

//indexOf()
let array = ["olma","kiwi","banan","anor"]
console.log(array.indexOf(2));

//reverse()
let array = [1,2,3,4,5];
console.log(array.reverse());

//join()
let array =[1,2,3,4,5];
console.log(array.join());
console.log(array.join(/));
console.log(array.join(+));
console.log(array.join( ));

//concat()
let array1 = [1,2,3,4,5];
let array2 = [6,7,8,9];
console.log(array1+array2) // 1,2,3,4,56,7,8,9
console.log(array1.concat(array2)); //[1,2,3,4,5,6,7,8,9]

ADVANCED PART

Avdanced array methods

1.sort()-arrayni berilgan shart asosida saralab beradi.

2.filter()- arraydagi ma'lumotni shart asosida filterlab beradi, ya'ni shartga to'g'ri kelganini qoldiradi, qolganlarini chiqarib yuboradi.

3.map( ) - for loop vazifasini bajaradi, arrayni har bir elementi yoki indexiga murojaat qiladi, ikkita parametr qabul qiladi 1-si value ikkinchisi index, map returnga qaytadi

4.forEach( ) - bu ham map bilan bir xil ishlaydi , lekin returnga qaytmaydi.

5.find()- arraydan elementni qidirib topadi.

6.findIndex()- array ichidan value indexini topadi;

7.findLastIndex() - arraydagi elementlarni indexini oxiridan boshlab qidiradi va chiqqan valueni indexini qaytaradi.

7.every() - har bir element sharta to'g'ri kelishiga qarab true va false qiymat qaytaradi.

8.some() - kamida bitta element shartga to'g'ri kelishigaga qarab true yoki false qiymat qaytaradi.

9.fill() - berilgan arrayni sharta asosan to'ldirib beradi.

10.flat() - nested arraylarni asosiy arrayga chiqarish;

11.flatMap() - flat va Map ni birlashmasi , ya'ni birinchi flat qiladi keyin map qiladi.

12.Array.from() - kiritilgan ma'lumotlarni arrayga o'tkazib beradi, parametriga array yoki string qabul qiladi.

// sort()  for stings
let meva = ["Olma", "Kiwi", "Anor", "Banan"]
console.log(meva.sort()); // sorts when every elemtnts are same like first letter is capital
console.log(meva.sort((a,b)=>{ // sorts for all
    return a.localeCompare(b);
})
let num = [3,7,1,8,3,5,9,3,2];
console.log(num.sort()); // sorts when every elements are same like nums are 1 digit number
console.log(num.sort((a,b)=>{ // sorts for all
    return a-b;
});
console.log(num.sort((a,b)=>{
    return b-a; // b-a; shuni teskarisi

  
//filter() - callback function
let str = ["Olma", "Kiwi", "Anor", "Banan"];
let res = str.filter((value) => {
    return value == "Olma";
});
console.log(res); //agar value "Olma" ga teng bo'lsa chiqsin
let num = [1, 2, 4, 6, 9, 64, 2];
let res = num.filter((value) => {
    return value > 2;
});
console.log(res);


//map() -callback function
let str = ["Olma", "Kiwi", "Anor", "Banan"];
str.map((value, index) => {
 console.log(value, index);
});
//with return
let str = ["Olma", "Kiwi", "Anor", "Banan"];
let res = str.map((value, index) => {
  return index;
});
  console.log(res);

//forEach - not use return
let str = ["Olma", "Kiwi", "Anor", "Banan"];
str.forEach((value, index) => {  
  console.log(index);
});


//find()
//find va filter farqi
let num1 = [3, 5, 6, 35, 43, 54, 3, 6];
let resFind = num1.find((value) => {
return value == 3;
});
   console.log(resFind);
let num = [3, 5, 6, 35, 43, 54, 3, 6];
let res = num.filter((value) => {  
return value == 3; 
});
console.log(res);
//findIndex()
let num = [3, 5, 6, 35, 43, 54, 3, 6];
let res = num.findIndex((value) => {  
return value == 3;
});
console.log(res);
//every()
let num = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let res = num.every((value) => {  
return value < 10;
});
console.log(res);
//some()
let num = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let res = num.some((value) => {  
return value < 10;
});
console.log(res);
//fill()
let num = [1, 2, 3, 8, 5, 6, 7, 8, 9];
let res = num.fill(4, 0, 3);
console.log(res); 
//copyWithin()
 
//flat() 
let num = [1, 2, [3, [4, 5], 6, 7], 8, 9];
let res = num.flat(); //() qavs ichida nechta array scope olib
//tashlanishi kiritiladi, agar nechtaligini bilmasak Infinity qoyiladi
console.log(res);