|
@@ -1,18 +1,39 @@
|
|
<header>
|
|
<header>
|
|
- <h1>Literals</h1>
|
|
|
|
|
|
+ <h1>ArreyOfObject</h1>
|
|
</header>
|
|
</header>
|
|
|
|
|
|
<body>
|
|
<body>
|
|
<script>
|
|
<script>
|
|
|
|
+ const toHtmlTable = (arr) => {
|
|
|
|
+ let str = "<table>";
|
|
|
|
+ for (let arrEl of arr) {
|
|
|
|
+ str += "<tr>";
|
|
|
|
+ for (let val of arrEl) {
|
|
|
|
+ str += `<td>${val}</td>`;
|
|
|
|
+ }
|
|
|
|
+ str += "</tr>";
|
|
|
|
+ }
|
|
|
|
+ str += "</table>";
|
|
|
|
+ return str;
|
|
|
|
+ }
|
|
var persons = [
|
|
var persons = [
|
|
- {name: "Иван", age: 17},
|
|
|
|
- {name: "Мария", age: 35},
|
|
|
|
- {name: "Алексей", age: 73},
|
|
|
|
- {name: "Яков", age: 12},
|
|
|
|
-]
|
|
|
|
-
|
|
|
|
-sort(persons, "age"); //сортирует по возрасту по возрастанию
|
|
|
|
-sort(persons, "name", false); //сортирует по имени по убыванию
|
|
|
|
|
|
+ { name: "Иван", age: 17 },
|
|
|
|
+ { name: "Мария", age: 35 },
|
|
|
|
+ { name: "Алексей", age: 73 },
|
|
|
|
+ { name: "Яков", age: 12 },
|
|
|
|
+ ]
|
|
|
|
+ /*a b comp< asc res
|
|
|
|
+ 1 2 true false false
|
|
|
|
+ 2 1 false false true
|
|
|
|
+
|
|
|
|
+ 1 2 true true true
|
|
|
|
+ 2 1 false true false*/
|
|
|
|
+ const sort = (arr, name, asc = true) =>
|
|
|
|
+ arr.sort((a, b) => (a[name] < b[name]) == asc ? -1 : 1);
|
|
|
|
+ sort(persons, "age"); //сортирует по возрасту по возрастанию
|
|
|
|
+ document.write(toHtmlTable(persons.map(p => Object.entries(p))));
|
|
|
|
+ sort(persons, "name", false); //сортирует по имени по убыванию
|
|
|
|
+ document.write(toHtmlTable(persons.map(p => Object.entries(p))));
|
|
</script>
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</body>
|