2016-01-15 5 views
1
var imageArr = []; 
if(req.body.photo1){ 
    imageArr.push(req.body.photo1); 
} 
if(req.body.photo2){ 
    imageArr.push(req.body.photo2); 
} 
if(req.body.photo3){ 
    imageArr.push(req.body.photo3); 
} 
if(req.body.photo4){ 
    imageArr.push(req.body.photo4); 
} 

Как улучшить код выше? Я написал цикл, но я получил undefined1, undefined2, undefined3, undefined4 значение в моем массиве.пустая строка или нулевая проверка в цикле

for(var i = 1; i<=4;i++){ 
if(req.body.photo+''+i){ 
imageArr.push(req.body.photo+''+i); 
} 
} 

ответ

3

поскольку "photo" + i является ключевой переменной, вам необходимо получить доступ к нему, как req.body [ "photo" + 1 ]

for(var i = 1; i<=4;i++) 
{ 
    var value = req.body[ "photo"+ i]; 
    if(value) 
    { 
    imageArr.push(value); 
    } 
} 
+0

является назначение его в 'value' переменной обязательным? – Jennifer

+0

@ Дженифер нет, но это более читаемо. – gurvinder372

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