2017-01-12 11 views
0

Хорошо, я хочу отправить массив данных и извлечь его на основе его индекса.отправка массива данных через почтальон на узел

rate = [10,20,30,40,50,60,70,80,90,100,110,120,200]; 

enter image description here

при попытке

console.log(req.body.rate); // output : [10,20,30,40,50,60,70,80,90,100,110,120,200] 
console.log(req.body.rate[2]) // gives 0 
// Also tried 
var array = []; 
array = req.body.rate; 
console.log(array[2]) // same as above 

Я знаю, что могу петлю и толкать и т.д. Но я не хочу, чтобы петли. Может ли кто-нибудь помочь мне, где я ошибаюсь.

+2

Если вы попробуете 'req.body.rate [3]' он дает вам символ ','? Если да, вам нужно проанализировать 'req.body.rate', потому что это строка, а не массив. –

+0

yup просто попробовал. В любом случае, я могу это исправить. Итак, здесь не помогает –

+0

Попробуйте следующее: 'array = req.body.rate.split (',')' –

ответ

1

Кажется, что в вашем случае req.body.rate он возвращает строку, а не массив.

Для получения array используйте метод split.

var array = []; 
array = req.body.rate.split(','); 
console.log(array[2]) 
+0

хорошо она расщепляется на этом пути [ '[10', '20', '30', '40', '50', '60', '70', '80', ' 90 ', ' 100 ', ' 110 ', ' 120 ', ' 200] '] поэтому, когда я изменил свой массив на 10,20,30,40,50,60,70,80,90,100,110,120,200 его отлично сейчас –

+0

Большое спасибо человеку –

1

Не могли бы вы отправить массив объектов? Тогда вы можете сделать что-то вроде этого:

var arr = [ 
    { 
     "key": "value" 
    }, 
    { 
     "key": "value1" 
    }, 
    { 
     "key": "value2" 
    } 
] 

console.log(arr[1].key)