2017-07-20 1 views
1

Ich bin derzeit auf ein Problem fest. Ich versuche [[1,2, [3]], 4] -> [1,2,3,4] zu machen, kann es aber nicht zur Arbeit bringen. Der Ausgang ich erhalte ist: 1,2,3,4 1,2,3 3 .......... 3Geplante Ebene verschweigen ohne Verwendung der Flatten-Funktion

function flattenArray(input) { 
var result = []; 
console.log(input.toString()); 
     for(i = 0; i < input.length; i++) { 
      if(input[i].constructor === Array) { 
      result.push(flattenArray(input[i])); 
     } else { 
      result.push(input[i]); 
    } 
} 
    return result; 
} 

console.log(flattenArray([[1,2,[3]],4])); 

Antwort

1

ich diese haben in Meine common.js-Datei. Ich benutze es die ganze Zeit.

Hier ist es als eine Funktion:

function flattenArray(input) { 
    console.log(input.toString()); 
    var ret = []; 
    for (var i = 0; i < input.length; i++) { 
     if (Array.isArray(input[i])) { 
      ret = ret.concat(flattenArray(input[i])); 
     } else { 
      ret.push(input[i]); 
     } 
    } 
    return ret; 
}