2016-06-03 9 views
-1

I-Daten haben wie diesejeweils Daten von multidimentional Array erhalten in Javascript

var data = [[1, 2, 3, 4], [5, 6, 7, 8]]; 

ich jeweils Daten aus dem Array wie 1, 2, 3, 4, 5, 6 ,7 ,8 mit for Looping zu bekommen, aber ich kann nicht jede Daten.

dies ist mein Code für jede Daten erhalten mit Looping

var each = []; 
for (var i = 0; i < data.length; i++) { 
      each.push(data[i]); 
      for (var i = 0; i < each.length; i++) { 
       console.log(each[i]); 
      }; 
     }; 

in meinem Denken, kann ich 1,2,3 etc

jedes meiner Array-Daten wie erhalten, aber das Looping Ergebnis ist [1,2,3,4]. Dies ist die erste Datum in meinem Array

mir bitte jemand sagen, den besten Weg, um alle Daten aus dem Array

+0

sein würde, was man mit „bedeuten, bekommt jede Daten "? Ist dieses '[1, 2, 3, 4, 5, 6, 7, 8] 'Array zu erwarten? – RomanPerekhrest

+0

Ich will das Ergebnis ist '1, 2, 3, 4, 5, 6, 7, 8' in keinem Array. es bedeutet, ich will jedes Element von diesem Array –

+0

so bekommen, sollte es eine Zeichenfolge wie '" 1, 2, 3, 4, 5, 6, 7, 8 "' sein? – RomanPerekhrest

Antwort

0

Die angemessenere Weise Array#reduce zu verwenden, aber Sie können auch Ihren Code Arbeit mit folgenden Änderungen vornehmen:

var each = []; 
for (var i = 0; i < data.length; i++) { 
     each = each.concat(data[i]);   
     for (var j = 0; j < each.length; j++) { 
      console.log(each[j]); 
     } 
} 
1

Sie verwenden Array#reduce und Array#concat zu könnten eine flache Anordnung zu erhalten zu bekommen.

var data = [[1, 2, 3, 4], [5, 6, 7, 8]], 
 
    each = data.reduce(function (r, a) { return r.concat(a); }, []); 
 

 
console.log(each);

0

es wie folgt tun:

data = [[1, 2, 3, 4], [5, 6, 7, 8]]; 
 
var joined = [].concat.apply([], data).join(","); 
 
    console.log(joined);

0

eine weitere Option eine concat verwenden wird mit anwenden

var data = [[1, 2, 3, 4], [5, 6, 7, 8]]; 
var flat = [].concat.apply([],data); 
console.log(flat); 
0

Ich denke, der einfachste Weg,

var data = [[1, 2, 3, 4], [5, 6, 7, 8]], 
     z = [].concat(...data); // [1,2,3,4,5,6,7,8]; 
Verwandte Themen