Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //generic_comparators.js
- //for "primitive" data types
- function howToSortNumbersAsc(x1, x2){
- x1 = Number(x1)
- x2 = Number(x2)
- if (x1>x2) return 1
- if (x1<x2) return -1
- return 0
- }//howToSortNumbersAsc
- function howToSortNumbersDesc(x1, x2){
- return -1 * howToSortNumbersAsc(x1,x2)
- }//howToSortNumbersDesc
- function howToSortStringsAsc(x1, x2){
- x1=x1+""
- x2=x2+""
- if (x1>x2) return 1
- if (x1<x2) return -1
- return 0
- }//howToSortStringsAsc
- function howToSortStringsDesc(x1, x2){
- return -1 * howToSortStringsAsc(x1, x2)
- }//howToSortStringsDesc
- *************
- <!-- 3.html -->
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>3 - Testing Car Collections</title>
- <script src="generic_comparators.js"></script>
- <script src="Car.js"></script>
- </head>
- <body>
- <script>
- var c1 = new Car(
- "Ferrari",
- "F1 641",
- ["Prost", "Mansell"],
- [new Date(1990, 12-1, 31), new Date(1990)]
- )
- var c2 = new Car(
- "McLaren",
- "F1 MP4",
- ["Senna", "Berger"],
- [new Date(1991, 12-1, 31), new Date(1991)]
- )
- var c3 = new Car(
- "Ferrari",
- "F1 2022",
- ["Leclerc", "Sainz"],
- [new Date(2022, 12-1, 31), new Date(2022)]
- )
- var col = [c1, c2, c3]
- document.write(col)
- </script>
- </body>
- </html>
- //Car.js
- class Car{
- constructor(
- pBrand="brand", //e.g. "VW"
- pModel="model", //e.g. "Golf"
- pOwners=[], // ["Maria", "John"]
- pInsurance=[] //["a1", "a2"]
- ){
- this.mBrand = pBrand
- this.mModel = pModel
- this.mOwners = pOwners
- this.mInsurance = pInsurance
- }//constructor
- toString(){
- var strHtml = "<ul>"
- strHtml+=`<li><mark>brand:</mark>${this.mBrand}</li>`
- strHtml+=`<li><mark>model:</mark>${this.mModel}</li>`
- strHtml+=`<li><mark>owners:</mark>${this.mOwners}</li>`
- strHtml+=`<li><mark>insurance:</mark>${this.mInsurance}</li>`
- //strHtml+="<li>"+this.mInsurance+"</li>"
- strHtml+="</ul>"
- return strHtml
- }//toString
- sortOwnersAsc(){
- this.mOwners.sort(howToSortStringsAsc)
- }//sortOwnersAsc
- sortOwnersDesc(){
- this.mOwners.sort(howToSortStringsDesc)
- }//sortOwnersDesc
- sortInsuranceAsc(){
- //this.mInsurance.sort(howToSortStringsAsc)
- this.mInsurance.sort(howToSortDatesAsc)
- }//sortInsuranceAsc
- sortInsuranceDesc(){
- //this.mInsurance.sort(howToSortStringsDesc)
- this.mInsurance.sort(howToSortDatesDesc)
- }//sortInsuranceDesc
- }//Car
- *********************
- <!-- 2.html -->
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Testing Car</title>
- <script src="generic_comparators.js"></script>
- <script src="Car.js"></script>
- </head>
- <body>
- <script>
- var c1 = new Car()
- document.write(c1)
- document.write("<hr>")
- var c2 = new Car(
- "Ferrari",
- "F1 641",
- ["Prost", "Mansell"],
- [new Date(1990, 12-1, 31), new Date(1990, 11-1), 30]
- )
- document.write(c2)
- document.write("<br>After sorting owners, ascending:<br>")
- c2.sortOwnersAsc()
- document.write(c2)
- document.write("<br>After sorting insurance dates, ascending:<br>")
- c2.sortInsuranceAsc()
- document.write(c2)
- document.write("<br>After sorting owners, descending:<br>")
- c2.sortOwnersDesc()
- document.write(c2)
- document.write("<br>After sorting insurance dates, descending:<br>")
- c2.sortInsuranceDesc()
- document.write(c2)
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement