2016-04-14 19 views
0

Я поиск информации некоторых данных в моем сервере Node.js, я хочу, чтобы результат простого массива строк, но когда я напечатать это выходит так:преобразование двухмерного массива в один

[ ['element1'],[element2'],['element3'] ]

вместо того, чтобы просто ['element1',element2','element3]

Инстинктивно я попытался напечатать массив [0], но это просто печатает первый элемент, а не первый размер моего массива.

im относительно новый для javascript, и я действительно не понимаю этого поведения.

Справка очень ценю!

+2

Это не имеет никакого смысла, вы уверены, что это вложенный массив в первую очередь? – GMchris

+0

Можете ли вы показать код, пожалуйста, –

+0

Итак, ваша проблема заключается в том, что ваш выход находится в неправильном формате? изменить возвращаемое значение вызываемого абонента или просто выполнить цикл через вложенный массив, который у вас уже есть. Если первое, вам нужно будет предоставить больше кода. – Bosworth99

ответ

0

Вы можете использовать функцию карты, чтобы получить первый элемент из каждого внутреннего массива, как это:

var newArray = [ 
 
    ['element1'],['element2'],['element3'] 
 
].map(function(i) { 
 
    return i[0]; 
 
    });

1

Если вложенный массив так:

var nested = [ 
    ['element1','1'],['element2','2'],['element3','3'] 
]; 

Затем вы можете сгладить его, используя reduce function:

var flat = nested.reduce(function(p, c) { return p.concat(c); }, []); 
+0

Это сработало красиво !! большое спасибо – Alex

+0

Добро пожаловать :) –

Смежные вопросы