Jer*_*myW 14 javascript loops list backbone.js underscore.js
我在BackboneJS视图中使用Underscore的template()方法.我想在我的视图中显示一个字母表列表,以便按字母对集合进行排序.
因此,我的视图中有26个链接列表(一个链接=一个字母).而不是复制粘贴每个链接(这对代码可维护性来说非常糟糕),我想知道是否可以通过下划线循环遍历字母表.
结果显示:
<li ><a href="#">a</a></li>
<li ><a href="#">b</a></li>
<li ><a href="#">c</a></li>
...
<li ><a href="#">z</a></li>
Run Code Online (Sandbox Code Playgroud)
jak*_*kee 43
var alphabet = "abcdefghijklmnopqrstuvwxyz".split("");
_.each(alphabet, function(letter) {
console.log(letter);
});
Run Code Online (Sandbox Code Playgroud)
这就是你如何做到的.
nik*_*shr 12
使用charcodes创建范围
var alphas = _.range(
'a'.charCodeAt(0),
'z'.charCodeAt(0)+1
);
// [97 .. 122]
Run Code Online (Sandbox Code Playgroud)用字母创建一个数组
var letters = _.map(alphas, a => String.fromCharCode(a));
// see @deefour comment
// Non ES6 version
// var letters = _.map(alphas, function(a) {
// return String.fromCharCode(a);
// });
// [a .. z]
Run Code Online (Sandbox Code Playgroud)注入模板
var tpl =
'<ul>'+
'<% _.each(letters, function(letter) { %>'+
'<li><%= letter %></li>'+
'<% }); %>'+
'</ul>';
var compiled = _.template(tpl);
var html = compiled({letters : letters});
Run Code Online (Sandbox Code Playgroud)和演示http://jsfiddle.net/hPdSQ/17/
var alphas = _.range(
'a'.charCodeAt(0),
'z'.charCodeAt(0)+1
);
var letters = _.map(alphas, a => String.fromCharCode(a));
var tpl =
'<ul>'+
'<% _.each(letters, function(letter) { %>'+
'<li><%= letter %></li>'+
'<% }); %>'+
'</ul>';
var compiled = _.template(tpl);
var html = compiled({letters : letters});
document.getElementById('res').innerHTML = html;
Run Code Online (Sandbox Code Playgroud)
<script src="http://underscorejs.org/underscore-min.js"></script>
<div id='res'></div>
Run Code Online (Sandbox Code Playgroud)
for(var letter=65;letter<91;letter++)
{
var _char = String.fromCharCode(letter);
console.log(_char);
}
Run Code Online (Sandbox Code Playgroud)
或使用97-123 ascii代码中的小写字母
归档时间: |
|
查看次数: |
32144 次 |
最近记录: |