Learned Array with Bus and Passengers..
Array Basic property and methods

An array is a simple group or list of basic data types (String, Number, boolean, array, and object or null and undefined ). Array items could be a single datatype of all of them ex: ["String", 4, true, ["another", "list", "of", "data"], {name:"chaiCode"}] Here we learn javascript arrays with a simple example of bus and passengers with #chaicode
.length
.length is used to get the total element count.
let bus = ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]bus.length // 13 returns the array length ( count of items the array is 5)
.at() and .indexOf()
.at() and .indexOf are used to the passenger
let bus2 = ["driver","hitesh","piyush","anirudh","main bhi hu"]bus2.at(3) // return anirudh it start from the 0 (doesn't include drive seat only passengers)bus.indexOf("main bhi hu") // Return 4 position of the the value and starts with 0
.fill() and .concat()
.fill(1): Fill all the seats with 1 passenger
.concat(): add another bus passenger to your bus
bus3 = bus.fill(1) // update all values with 1bus3 = bus2.concat(bus) //add new array with the old array
.push() and .pop()
add and remove items at ends of the array(list)
.push() // board new passenger from the back gate
.pop() // deboard passenger from the back gate
bus4 = bus.push('gents'); // gents boarded bus from back gatebus4 = bus.pop('gents'); // after destination gents deboarded bus from back gate
.unshift() and .shift()
add and remove items at the start of the array(list)
.unshift() // boarded ladies passengers from front gate
.shift() // deboarded ladies passengers from front gate
.find(), .some(), .every(), .includes(), and .filter()
some other important methods of arrays
.find() // check for any lady passenger by name
.some() // check for any lady passenger by boolean
.every() // check for all passenger is women
.include() // any lady passenger by name
.filter() // give me the ladies passenger list
let ticketPrize = [5,7,10,15,20,30,40,60,80]ticketPrize.find(item => item === 10) // return 10 the value if trueticketPrize.some(item => item < 10) // return true beacuse of value 5 is lesserticketPrize.every(item => item < 10) // return false beacause of other value is higherticketPrize.includes(5) // return true because 5 is in the listticketPrize.filter(item => item <= 9) // [5, 7] retrun the value
const passengers = [{ name: 'Driver', gender: "M", ticket: false },{ name: 'Conductor', gender: "M", ticket: false },{ name: 'Divya', gender: "F", ticket: true },{ name: 'Kavya', gender: "F", ticket: true },{ name: 'Sandya', gender: "F", ticket: true },{ name: 'Vandya', gender: "F", ticket: true },{ name: 'Hitesh', gender: "M", ticket: true },{ name: 'Piyush', gender: "M", ticket: true },{ name: 'Anirudh', gender: "M", ticket: false },{ name: 'Jagdamba', gender: "M", ticket: true },{ name: 'Dubey', gender: "M", ticket: true }];
passengers.find(item => item.gender==="F"); // return the Divya details first F gender passengerassengers.some(item => item.gender==="F"); // return TRUE bacause of some passengers gender are Fassengers.every(item => item.gender==="F"); // return FALSE because not every passengers gender is Fassengers.filter(item => item.ticket === false); return list of ticket false list
.map(), .flat() and .flatMap()
.map(): used for any performance with each element
ticketPrize = [5,7,10,15,20,30,40,60,80] dobledPrize = ticketPrize.map(prize => prize * 2) // new array with doubled prize
.flat(): used for combining multiple arrays into a single arraystaff = ["dirver", "conductor"]ladies = ["Divya","Kavya","Sita","Geeta"]gents = ["Hitesh","Piyush","Jagdamba","Dubey"]bus = [staff, ladies, gents].flat(); // get all value in one
bus = [staff, ladies, gents].flatMap(p => p + ' in the bus'); // get all value in one
.split() and .join()
.split() used for creating array
let myFriends = "Hitesh,Piyush,Jagdamba,Dubey"frinedArr = myFriends.split(','); // create element on the based of ,
.join() is used for array to stringnames = frinedArr.join(',') // array convert back to string
.slice() and .splice()
.slice()
this is used to slice the list bus Doesn't modify the original array and returns a new array with selected elements like: ticket done for some passenger some are pending but all are in the buslet bus7 = ["driver","conductor","Hitesh","Piyush","Jags","Students"]bus7.slice(2) // first 2 dirver and conductor does not require ticketsbus7.slice(2,5) // first 2 and after and after 5 (dirver and conductor and stundents and so not required)
.splice()
Modifies the original array and returns removed elements like: some of the passengers deboarded the bus but some still in the buslet bus8 = ["driver","conductor","Hitesh","Piyush","Jags","Students"]busSplice = bus8.splice(2) // store only passengers and bus8 has only dirver and conductorbusSplice = bus8.splice(2,3) // first value start from and second value count of delete/splice
.reduce()
reduce is used for some calculations with all elements. like the total collection of bus tickets.let ticketSold = [10,15,20,30,40,50,5];let totalSold = ticketSold.reduce((total,perticket) => total + perticket,0); //returns 170
Surprise Mee
surprise is that you can create your methods and surprise anyone which called polyfill lets create
I need to add the text "ticket kat gaya" for all bus passengers for tickets
Array.prototype.ticketDone = function(mes){ let pList = []; for(let i = 0; i < this.length; i++){ pList.push(mes(this[i])); } return pList; }
let bus = ["p1","p2","p3","p4","p5","p6","p7","p8"]bus.ticketDone(pas => pas + " ticket kat gaya");
Conclusion + Revision
const myArr = [1,2,3,4,5.5] myArr.length() // returns the array length ( count of items the array is 5)myArr.at(n) // get the value of nth position ( 4th position value is 5.5)myArr.indexOf(4) // get the position of value (5 is at 4th position)myArr.concat(4,[45,56,76,86]) // add more value into the array (also can be single value or can be another array itself)myArr.fill(0); // fill all the position with passed valuemyArr.find((item) => item < 7) // check for the first item to match the conditionmyArr.some((item) => item < 7) // check for the some item to match the conditionmyArr.every((item) => item < 7) // check for all items to match the contions with iterations with true and falsemyArr.includes(item); // return booleans if item avilable or not in the arraymyArr.filter((item) => item >4) // return the list of the array with matched the conditions mmyArr.map(item => item * 2) // return the new array with any actions performed with each elementsmyArr.flat(); // convert in the single array from multilevel arraymyArr.flatMap(item => item + "a") // maping and also flat the array if there is multilevel arraymyArr.join('-') // return string with all value differnciate with mentioned valuemyArr.split('-') // return array with split value myArr.push(7) // add new item in the last of the array myArr.pop // removed and returns the last item of the arraymyArr.unshift(0) // add new item or items in the start of arraymyArr.shift() // removed first item from arraymyArr.splice(start, count) // returns removed form old array and return the new array from start to number of countsmyArr.slice(count) // just slice removed or sliced from start to countarr.reduce((total,item) => total+item,intial) // return the sum of the array with intial if added
Polyfill to create your custom methods
Array.prototype.myMap = function(fn){myArr = []for(let i=0; i<this.length; i++){myArr.push(fn(this[i]))}return myArr;}


