|
@@ -0,0 +1,68 @@
|
|
|
+/* Сортировка */
|
|
|
+
|
|
|
+var persons = [
|
|
|
+ {name: "Иван", age: 17},
|
|
|
+ {name: "Мария", age: 35},
|
|
|
+ {name: "Алексей", age: 73},
|
|
|
+ {name: "Яков", age: 12},
|
|
|
+]
|
|
|
+
|
|
|
+function sort(array, field, order = true) {
|
|
|
+ let arrSorted = array.sort(function (a, b){
|
|
|
+ if (a[field] > b[field]) {
|
|
|
+ return order ? 1 : -1;
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ return order ? -1 : 1;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return arrSorted
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+sort(persons, 'age', false)
|
|
|
+
|
|
|
+/* array map */
|
|
|
+
|
|
|
+let arr = ["1", {}, null, undefined, "500", 700]
|
|
|
+let arr1 = arr.map(x => typeof x === 'string' ? +x : x)
|
|
|
+console.log(arr1)
|
|
|
+
|
|
|
+/* array reduce */
|
|
|
+
|
|
|
+let arr2 = ["0", 5, 3, "string", null];
|
|
|
+let arr3 = arr2.filter(x => typeof x === 'number').reduce((a, b) => a *= b)
|
|
|
+console.log(arr3)
|
|
|
+
|
|
|
+/* object filter */
|
|
|
+
|
|
|
+var phone = {
|
|
|
+ brand: "meizu",
|
|
|
+ model: "m2",
|
|
|
+ ram: 2,
|
|
|
+ color: "black",
|
|
|
+};
|
|
|
+filter(phone, (key, value) => key == "color" || value == 2);
|
|
|
+
|
|
|
+function filter(obj, key, value) {
|
|
|
+ let object = {}
|
|
|
+ for(let key in obj) {
|
|
|
+ for(let value in obj) {
|
|
|
+ if (obj[key] == 2 && value == "color") {
|
|
|
+ object[key] = obj[key]
|
|
|
+ object[value] = obj[value]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return object
|
|
|
+ }
|
|
|
+
|
|
|
+/* Рекурсия: sum */
|
|
|
+
|
|
|
+function progression(n) {
|
|
|
+ if (n === 0) {
|
|
|
+ return 0
|
|
|
+ } else {
|
|
|
+ return n + progression(n - 1)
|
|
|
+ }
|
|
|
+}
|