Ler*_*ica 13 javascript extjs4
我有一个字符串构建形式逗号分隔值我split用来获取每个值,然后我想在新行上显示每个值,但真正发生的是我得到的每一个值都在新行上,除了显示的最后两个在同一条线上.只是为了说清楚:
值1
,值2
,值3
,值4,值5
这是我正在使用的功能:
_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;
}
Run Code Online (Sandbox Code Playgroud)
为了清楚这是用ExtJS 4编写的,我几乎可以肯定,在这种情况下,问题是纯JavaScript并且与ExtJS 4无关,但无论如何,也许我错了.
所以任何想法为什么会发生,以及我如何能够让最后的元素进入新线?
谢谢
Leron
VIJ*_*Y P 25
我已经修改了你的功能位清洁.因为已经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');
}
Run Code Online (Sandbox Code Playgroud)
以上功能你可以在一行中完成:
如果它是一个数组,您可以按以下方式拆分为新行:
var arr = ['apple','banana','mango'];
console.log(arr.join('\r\n'));
Run Code Online (Sandbox Code Playgroud)
如果它是一个字符串:
var str = "apple,banana,mango";
console.log(str.split(',').join("\r\n"));
Run Code Online (Sandbox Code Playgroud)
Ste*_*fan 12
for循环是可疑的.首先,你不处理所有项目(最后一个项目缺失,正如@sarfraz指出的那样).你zzz在for循环体中返回结果():
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...]
}
Run Code Online (Sandbox Code Playgroud)
在Javscript中,您可以简单地"加入"数组:
return dates.split(',').join("<br />")
Run Code Online (Sandbox Code Playgroud)
由于您只是替换字符串,因此可以使用以下replace方法:
return dates.replace(",", "<br />");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52018 次 |
| 最近记录: |