Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let input = [[1, 2, [3, 4]], function(a) { return a; }, { "name": "Martin" }, 3, 4, 5, function(a) { return (a + 1)}]
- let arr = eval(input);
- let results = 0;
- let intCounter = 0;
- let result = [];
- let i = 1;
- arr.forEach(element => {
- if ( Array.isArray(element)) {
- let isNested = false;
- for(let i = 0; i < element.length; i++){
- // handle nested
- if(Array.isArray(element[i])){
- isNested = true;
- break;
- }
- }
- if (isNested) {
- var newElement = element.reduce(function(prev, curr) {
- console.log(prev);
- return prev.concat(curr);
- });
- results.push(newElement);
- } else {
- results.push(newElement);
- }
- } else if ( typeof element == "object") {
- let key = Object.keys(element)[0];
- result.push(key + ": " + element[key]);
- } else if (typeof element == "number") {
- intCounter++;
- } else if (typeof element == "string") {
- //reverse string
- result.push(element.split("").reverse().join(""));
- // console.log( element.split("").reverse().join(""));
- } else if (typeof element == "function") {
- //call function
- result.push(element(42));
- }
- });
- if(intCounter > 0) {
- result.unshift(intCounter);
- }
- result =JSON.stringify(result);
- console.log(result);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement