|
@@ -1,3 +1,7 @@
|
|
|
+
|
|
|
+////Sort
|
|
|
+
|
|
|
+
|
|
|
var persons = [
|
|
|
{name: "Иван", age: 17},
|
|
|
{name: "Мария", age: 35},
|
|
@@ -8,12 +12,10 @@ var persons = [
|
|
|
|
|
|
|
|
|
function sort(arr, key, boolean = true) {
|
|
|
-
|
|
|
-
|
|
|
let middleArr = [];
|
|
|
|
|
|
for (let i = 0; i < arr.length; i++) {
|
|
|
- middleArr.push(arr[i][key]);
|
|
|
+ middleArr.push(arr[i]);
|
|
|
}
|
|
|
|
|
|
for (let j = 0; j < middleArr.length; j++) {
|
|
@@ -21,7 +23,7 @@ function sort(arr, key, boolean = true) {
|
|
|
|
|
|
for (let k = 1; k < middleArr.length;) {
|
|
|
|
|
|
- if (middleArr[index] > middleArr[k]) {
|
|
|
+ if (middleArr[index][key] < middleArr[k][key]) {
|
|
|
[middleArr[index], middleArr[k]] = [middleArr[k], middleArr[index]]
|
|
|
k += 2
|
|
|
index += 1
|
|
@@ -34,7 +36,7 @@ function sort(arr, key, boolean = true) {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- if (boolean == false) {
|
|
|
+ if (boolean == true) {
|
|
|
middleArr.reverse()
|
|
|
}
|
|
|
|
|
@@ -42,4 +44,35 @@ function sort(arr, key, boolean = true) {
|
|
|
}
|
|
|
|
|
|
console.log(sort(persons, "age"));
|
|
|
-console.log(sort(persons, "name", false))
|
|
|
+console.log(sort(persons, "name", false))
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+///////Array map
|
|
|
+let array = ["1", {}, null, undefined, "500", 700]
|
|
|
+let newArray = array.map(function (num) {
|
|
|
+ if (!num === false && !isNaN(+num)) {
|
|
|
+ return +num
|
|
|
+ }
|
|
|
+
|
|
|
+ return num
|
|
|
+
|
|
|
+})
|
|
|
+//console.log(newArray)
|
|
|
+
|
|
|
+
|
|
|
+//Array reduce
|
|
|
+let reduceArray = ["0", 5, 3, "string", null]
|
|
|
+let result = reduceArray.reduce(function(a, b){
|
|
|
+ if(typeof a !== "number"){
|
|
|
+ a = b
|
|
|
+ return a
|
|
|
+ } else if
|
|
|
+ (typeof b !== "number"){
|
|
|
+ return a
|
|
|
+ } else {
|
|
|
+ a = a*b
|
|
|
+ }
|
|
|
+ return a
|
|
|
+})
|
|
|
+console.log(result)
|