|
@@ -0,0 +1,105 @@
|
|
|
+// sort
|
|
|
+{
|
|
|
+ var persons = [
|
|
|
+ { name: "Иван", age: 17 },
|
|
|
+ { name: "Мария", age: 35 },
|
|
|
+ { name: "Алексей", age: 73 },
|
|
|
+ { name: "Яков", age: 12 },
|
|
|
+ ]
|
|
|
+
|
|
|
+ function sort(arr, type, bool = true) {
|
|
|
+ return arr.sort((a, b) => {
|
|
|
+ let result;
|
|
|
+ if (bool) {
|
|
|
+ console.log('true')
|
|
|
+ result = a[type] > b[type] ? 1 : -1;
|
|
|
+ } else {
|
|
|
+ console.log('false')
|
|
|
+ result = a[type] < b[[type]] ? 1 : -1;
|
|
|
+ }
|
|
|
+ return result
|
|
|
+ })
|
|
|
+ }
|
|
|
+ console.log(sort(persons, 'name', false))
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+// array map
|
|
|
+
|
|
|
+{
|
|
|
+ let arr = ["20", null, undefined, "5", {}, 700];
|
|
|
+
|
|
|
+ let arrMap = arr.map(function (item, index, arr) {
|
|
|
+ let number = parseInt(item);
|
|
|
+ return isNaN(number) ? item : number;
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log(arrMap);
|
|
|
+}
|
|
|
+
|
|
|
+// array reduce
|
|
|
+
|
|
|
+{
|
|
|
+ let arr = ["0", 5, 3, "string", null];
|
|
|
+
|
|
|
+ let result = arr.reduce(function (previousValue, currentValue) {
|
|
|
+ if (typeof (currentValue) === 'number') {
|
|
|
+ previousValue *= currentValue;
|
|
|
+ };
|
|
|
+ return previousValue
|
|
|
+ }, 1)
|
|
|
+ alert(result);
|
|
|
+}
|
|
|
+
|
|
|
+// object filter
|
|
|
+{
|
|
|
+ let phone = {
|
|
|
+ brand: "meizu",
|
|
|
+ model: "m2",
|
|
|
+ ram: 2,
|
|
|
+ color: "black",
|
|
|
+ };
|
|
|
+
|
|
|
+ function filter(object, func) {
|
|
|
+ for (let key in object) {
|
|
|
+ if (!func(key, object[key])) {
|
|
|
+ delete object[key];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return object;
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(filter(phone, (key, value) => key == "color" || value == 2));
|
|
|
+}
|
|
|
+
|
|
|
+// object map
|
|
|
+{
|
|
|
+ function map(object, func) {
|
|
|
+ const fields = [];
|
|
|
+ for (let key in object) {
|
|
|
+ fields.push(func(key, object[key]));
|
|
|
+ }
|
|
|
+ return Object.assign({}, ...fields);
|
|
|
+ }
|
|
|
+ console.log(
|
|
|
+ map({ name: "Иван", age: 17 }, function (key, value) {
|
|
|
+ let result = {};
|
|
|
+ result[key + "_"] = value + "$";
|
|
|
+ return result;
|
|
|
+ })
|
|
|
+ );
|
|
|
+}
|
|
|
+
|
|
|
+//sum recursion
|
|
|
+{
|
|
|
+ function sum(n) {
|
|
|
+ if (n === 0) {
|
|
|
+ return 0
|
|
|
+ } else {
|
|
|
+ return n + sum(n - 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(sum(100));
|
|
|
+
|
|
|
+}
|