2015-06-02 165 views
0

我想填充以下字符串,如果我有n个数据:字符串操作

group.items[0].fname || group.items[1].fname ||..........|| group.items[n].fname 

我已经实现之后,我想知道是否有更好的方式来做到这一点?

nam=""; 
for (i = 0; i < data.length; i++) { 
    if(i==0) 
    nam="groups.items["+i+"]"+".fname"; 
    else 
    nam=nam+"||"+"group.items["+i+"]"+".fname"; 
} 
+1

为什么你需要这样的字符串?如果不知道你想要达到什么目的,我们无法帮助你。如果你正在评估这个字符串,你正在做一些非常错误的事情。 – undefined

+0

jsfiddle.net/opL8dq26看'series.name'格式,是否清楚? – mystackoverflow

+1

所以你使用的是剑道模板?为什么不能http://jsfiddle.net/6qnd510o/? – undefined

回答

1

由于data是,你可以简单地使用Array.prototype.map构建子的数组,然后数组加入他们的行列:

var data = [1,2,3]; 
 

 
var nam = data.map(function(el, i) { 
 
    return 'group.items[' + i + '].fname'; 
 
}).join('||'); 
 

 
alert(nam);

+0

谢谢dfsq,它就像一个魅力! – mystackoverflow

+0

@mystackoverflow只是好奇,现在你有字符串,你打算怎么处理它?打印出来放在墙上? –

+0

@torazaburo,我需要它为以下http://jsfiddle.net/opL8dq26/,看'series.name',这是否足够清楚? – mystackoverflow