|
@@ -58,7 +58,7 @@ let newArray = array.map(function (num) {
|
|
|
return num
|
|
|
|
|
|
})
|
|
|
-//console.log(newArray)
|
|
|
+console.log(newArray)
|
|
|
|
|
|
|
|
|
//Array reduce
|
|
@@ -75,4 +75,133 @@ let result = reduceArray.reduce(function(a, b){
|
|
|
}
|
|
|
return a
|
|
|
})
|
|
|
-console.log(result)
|
|
|
+console.log(result)
|
|
|
+
|
|
|
+
|
|
|
+////Array filter
|
|
|
+var phone = {
|
|
|
+ brand: "meizu",
|
|
|
+ model: "m2",
|
|
|
+ ram: 2,
|
|
|
+ color: "black",
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+function filter(obj, funk) {
|
|
|
+ let rest = {}
|
|
|
+ for (let key in obj){
|
|
|
+ if (funk(key, obj[key])){
|
|
|
+ rest[key] = obj[key]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rest
|
|
|
+}
|
|
|
+console.log(filter(phone,(key,value) => key == "color" || value == 2));
|
|
|
+
|
|
|
+
|
|
|
+///Array map
|
|
|
+
|
|
|
+function map(obj, funk) {
|
|
|
+
|
|
|
+ let newObj = {}
|
|
|
+ for (let key in obj){
|
|
|
+ let temp = funk(key, obj[key]);
|
|
|
+
|
|
|
+ for(let _key in temp) {
|
|
|
+ newObj[_key] = temp[_key];
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return newObj
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+console.log(map({name: "Иван", age: 17},function(key,value){
|
|
|
+ var result = {};
|
|
|
+ result[key+"_"] = value + "$";
|
|
|
+ return result;
|
|
|
+}))
|
|
|
+
|
|
|
+////Sum
|
|
|
+//Не поняла точно задания, потому написала два варианта
|
|
|
+
|
|
|
+function sumRecurs(a, b, c){
|
|
|
+
|
|
|
+ a += b;
|
|
|
+ if(a < c) {
|
|
|
+ return sumRecurs(a, b, c)
|
|
|
+ }
|
|
|
+ return a
|
|
|
+
|
|
|
+}
|
|
|
+console.log(sumRecurs(2, 4, 16))
|
|
|
+
|
|
|
+
|
|
|
+function sumRecurs2 (a, b, c) {
|
|
|
+
|
|
|
+ if(c > 0) {
|
|
|
+ a += b;
|
|
|
+ c = c - 1
|
|
|
+ return sumRecurs2(a, b, c)
|
|
|
+ }
|
|
|
+ return a
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+console.log(sumRecurs2(2, 4, 5))
|
|
|
+
|
|
|
+
|
|
|
+//toHtml
|
|
|
+///уже вроде делала
|
|
|
+var someTree = {
|
|
|
+ tagName: "table", //html tag
|
|
|
+ subTags: [ //вложенные тэги
|
|
|
+ {
|
|
|
+ tagName: "tr",
|
|
|
+ subTags: [
|
|
|
+ {
|
|
|
+ tagName: "td",
|
|
|
+ text: "some text",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ tagName: "td",
|
|
|
+ text: "some text 2",
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ attrs:
|
|
|
+ {
|
|
|
+ border: 1,
|
|
|
+ },
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+function toHtml(obj) {
|
|
|
+ debugger
|
|
|
+
|
|
|
+ var element = document.createElement(obj.tagName);
|
|
|
+
|
|
|
+ if (obj.text) {
|
|
|
+ element.innerHTML = obj.text
|
|
|
+ }
|
|
|
+
|
|
|
+ if (obj.attrs) {
|
|
|
+ for (let key in obj.attrs) {
|
|
|
+ element[key] = obj.attrs[key]
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (obj.subTags) {
|
|
|
+ for (let i = 0; i < obj.subTags.length; i++) {
|
|
|
+ element.appendChild(toHtml(obj.subTags[i]));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return element;
|
|
|
+}
|
|
|
+ //document.body.appendChild(toHtml(someTree));
|