const numbers = [5, 12, 8, 130, 44];
const found1 = numbers.find((e) => e == 5);
const found2 = numbers.find((e) => e == 15);
const found3 = numbers.find((e) => e != 5); //will return first non 5 value
console.log(found1); //5
console.log(found2); //undefined
console.log(found3); //12
const index8 = numbers.findIndex((e) => e == 8);
console.log(index8); // 2
const indexNum = numbers.findIndex((e) => e == 22);
console.log(indexNum); // -1
//--------
const students = [
{ id: 1, name: "Alice", grade: 85 },
{ id: 2, name: "Bob", grade: 92 },
{ id: 3, name: "Charlie", grade: 78 },
{ id: 4, name: "Diana", grade: 95 },
];
const highScorer = students.find((student) => student.grade > 80);
console.log(highScorer); // {id: 1, name: 'Alice', grade: 85}
//filter
const found = numbers.filter((e) => e != 5);
console.log(found); // [12,8,130,44]
const found10 = numbers.filter((e) => e > 10);
console.log(found10); // [12,130,44]
const highScorer2 = students.filter((student) => student.grade > 80);
console.log(highScorer2);
//--------------------------------------------------
//Sort
const numbers = [5, 12, 8, 130, 44];
const fruits = ["Banana", "Orange", "apple", "Mango"];
fruits.sort();
console.log(fruits); // ['Banana', 'Mango', 'Orange', 'apple']
fruits.sort((a, b) => a.toLowerCase().localeCompare(b.toLowerCase()));
console.log(fruits); // ['apple', 'Banana', 'Mango', 'Orange']
numbers.sort();
console.log(numbers); // [12, 130, 44, 5, 8]
numbers.sort((a, b) => a - b);
console.log("Asc :" + numbers); // Asc :5,8,12,44,130
numbers.sort((a, b) => b - a);
console.log("Desc :" + numbers); // Desc :130,44,12,8,5
//--------------------------------------------------
// forEach()
const numbers = [5, 12, 8, 130, 44];
numbers.forEach((number) => {
console.log(number * 2);
});
//result
/*
10
24
16
260
88
*/
const fruits = ["apple", "banana", "cherry"];
fruits.forEach((fruit, index) => {
console.log(`${index + 1} : ${fruit}`);
});
//result
/*
1 : apple
2 : banana
3 : cherry
*/
// Map , use it to return result
const mapResult = numbers.map((n) => n * 2);
console.log(mapResult);
// [10, 24, 16, 260, 88]
const mapResultfilter = numbers.map((n) => n * 2).filter((n) => n > 10);
console.log(mapResultfilter);
// [24, 16, 260, 88]
const fruits1 = ["apple", "banana", "cherry"];
upperCaseFruit = fruits1.map((fruit, index) => {
return `${index + 1} : ${fruit.toUpperCase()}`;
});
console.log(upperCaseFruit);
// ['1 : APPLE', '2 : BANANA', '3 : CHERRY']
// array of objects
const users = [
{ id: 1, name: "John", age: 30 },
{ id: 2, name: "Jane", age: 25 },
{ id: 3, name: "Bob", age: 40 },
];
// extract name only
const names = users.map((user) => user.name);
console.log(names);
//['John', 'Jane', 'Bob']
const formattedUser = users.map((user) => {
return {
id: user.id,
name: user.name.toUpperCase(),
ageGroup: user.age < 30 ? "Young" : "Adult",
};
});
console.log(formattedUser);
/*
[
{ id: 1, name: 'JOHN', ageGroup: 'Young' },
{ id: 2, name: 'JANE', ageGroup: 'Young' },
{ id: 3, name: 'BOB', ageGroup: 'Young' }
]
*/
//--------------------------------------------------
Mutables & Immutables
slice(0,2) // 0->start index , 2 -> no .of elements