Javascript, как показать каждый элемент массива на новой строке
У меня есть строковая строчная форма, разделенная запятыми. Я использую split
для получения каждого значения, и после этого я хочу показать каждое значение в новой строке, но на самом деле происходит то, что я получаю каждое значение в новой строке, кроме последние два, которые показаны вместе на одной строке. Просто чтобы было ясно:
значение1
значение2
значение3
value4, value5
Вот функция, которую я использую:
_checkDates: function(dates) {
if (dates != null)
{
var zzz = dates.split(',');
var xxx = zzz.length;
console.log(xxx);
for (var i=0; i<=xxx; i++)
{
zzz[i] = zzz[i] + '<br />';
return zzz;
}
}
return dates;
}
Просто, чтобы быть ясным, это написано в ExtJS 4, я почти уверен, что в этом случае проблема является чистым JavaScript и не связана с ExtJS 4, но в любом случае, может быть, я ошибаюсь.
Итак, какие-нибудь идеи, почему это происходит, и как я мог бы сделать этот последний элемент также доступным для новой строки?
Спасибо
Лерон
Ответы
Ответ 1
Забойный цикл является подозрительным. Во-первых, вы не обрабатываете все элементы (последний отсутствует, как указал @sarfraz). Sencondly вы возвращаете результат (zzz
) в тело for-loop:
for (var i=0; i<=xxx; i++)
{
zzz[i] = zzz[i] + '<br />';
return zzz; // for-loop will stop here! resulting in ["value1<br />", "Value2", etc...]
}
В Javscript вы можете просто "присоединить" массив:
return dates.split(',').join("<br />")
Поскольку вы просто заменяете строки, вы можете использовать метод replace
:
return dates.replace(",", "<br />");
Ответ 2
Я изменил ваш очиститель бит. Так как уже stefan упомянул вашу ошибку.
function splitDate(dates) {
if (dates != null)
{
var dates = dates.split(',');
var xxx = dates.length;
console.log(xxx);
for (var i=0; i<xxx; i++)
{
dates[i] = dates[i];
}
}
console.log(dates.join('\r\n'));
return dates.join('\r\n');
}
вышеуказанная функция вы можете сделать это в одной строке:
, если массив можно разбить на новую строку следующим образом:
var arr = ['apple','banana','mango'];
console.log(arr.join('\r\n'));
, если это строка:
var str = "apple,banana,mango";
console.log(str.split(',').join("\r\n"));
Ответ 3
Для React-Native
const your_array_name = [
{
id: 1,
text: 'Lorem ipsum is simple dummy text for printing the line',
skills: ['javascript', 'java']
},
{
id: 2,
text: 'Lorem ipsum is simple dummy text.',
skills: ['javascript', 'java']
} ]
<Text style={{color:'#ff8500',fontSize:18}}>{your_array_name.skills.splice(',').join("\n")}</Text>