-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathArrayFunctions.js
125 lines (90 loc) · 2.73 KB
/
ArrayFunctions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
let fruits = ["apple" , "banana" , "orange" , "mango","apple" , "banana" , "orange" , "mango","orange" , "mango"];
/* Push , Pop , shift , unshift */
console.log("Push");
console.log(fruits.push("lime"));
console.log(fruits);
console.log("Pop");
console.log(fruits.pop());
console.log(fruits);
console.log("Shift");
console.log(fruits.shift()); //removes element from front
console.log(fruits);
console.log("UnShift");
console.log(fruits.unshift("lime")); //adds element from fron
console.log(fruits);
fruits.splice(7,9); //remove elements from 3
console.log(fruits);
console.log("Splice");
fruits.splice(4,5,"orange","mango"); //remove elements at 5 elements from index 4 and adds 'orange" and mango into that index
console.log(fruits)
let a = [101,102,103,104,105,106,107,108,109,NaN];
console.log(a.indexOf(102)); //1
console.log(a.includes(102)); //true
console.log(a.indexOf(NaN)); //-1 because indexOf skips empty slots , the method indexOf is generic it expects the value to have length and integer also NaN can never be compared as equal
let boolean=fruits.find((value,index,arr)=>{
if(value== "orange")
{
return true;
}
else{
return false;
}
});
console.log(boolean);
/* To modify the existing array use map */
let value = a.map((value,index,arr)=>{
return value*2;
})
console.log(value);
/* For Each function*/
let sum=0;
a.forEach((vals,index,arr)=>{
sum+=vals;
});
console.log(sum);
/* Filter function */
let filteredValue=a.filter((value,index,arr)=>{
value%2==0;
})
console.log(a);
/* Reduce function */
let max = a.reduce((prev,curr)=>{
if(prev<curr)
{
return curr;
}
return prev;
},-1);
console.log(max);
/* Set Datastructure */
let newfruits = new Set(fruits);
let unique = [...newfruits]; //saves only unique value in an array
console.log(unique);
newfruits.add("mango");
newfruits.delete("lime");
newfruits.has("lime");
/* Sorting in array can be solved using a comparator function because js sorts an array using ASCII*/
a.sort((a,b)=>{
return a-b;
});
console.log(a);
/* Arr.with() */
const data = [
{sum:1},{sum:2}
];
const res = data.reduce((accumator,reducer)=>{
return accumator+ reducer.sum //sum of numbers
},0);
console.log(res);
/*To sorted */
// let prime = [5,4,3,2,1];
// let sorted = prime.toSorted(); //do not modify prime array but when we use sort() the prime array is also modified
// console.log(sorted);
// console.log(prime);
let array =[1,2,3,4];
array[7]=7; //[1,2,3,4,,,7] sparse array
console.log(array[5]); //is empty but behaves undefined
const mapped=array.map(i=>i);
console.log(mapped);
console.log("" == []); //true when used with == converts [] to string using [].toString()
console.log([].toString());