Advertisement
avr39ripe

jsExtArray

Mar 22nd, 2021
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Study</title>
  6. </head>
  7. <body>
  8.     <script>
  9.         'use strict'
  10.  
  11.         class ExtendedArray extends Array {
  12.             constructor(separator = ':', tag = 'li', ...args) {
  13.                 super(...args);
  14.                 this._separator = separator;
  15.                 this._tag = tag;
  16.             }
  17.  
  18.             toString(separator = this._separator) {
  19.                 //if (separator != this._separator) {
  20.                 //    this._separator = separator;
  21.                 //}
  22.  
  23.                 return this.join(separator);
  24.             }
  25.  
  26.             toHtml(tag = this._tag) {
  27.  
  28.                 let res = this.reduce((prev, it) => { return `${prev}<${tag}>${it}</${tag}>`; }, '');
  29.                 if (tag == 'li') {
  30.                     res = `<ul>${res}</ul>`;
  31.                 }
  32.                 return res;
  33.  
  34.             }
  35.  
  36.             render() {
  37.                 document.write(this.toHtml());
  38.             }
  39.         }
  40.  
  41.         {
  42.             let extArr = new ExtendedArray(' / ', 'p');
  43.  
  44.             for (let i = 0; i < 10; ++i) {
  45.                 extArr[i] = i + 1;
  46.             }
  47.  
  48.             console.log(extArr.toString(' / '));
  49.  
  50.             console.log(extArr.toHtml());
  51.             extArr.render();
  52.         }
  53.     </script>
  54. </body>
  55. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement