我正在制作一个小秘密工具。输出将在一个表格中,在左侧我想列出我在$.each()
中存储的数字。所以这是我的代码:
$.each([1,2,3,4,5], function(i, l){
var lol = (some math stuff here);
$("#output").append("<tr><td>" + l + "</td><td>" + lol + "</td><tr>");
});
这样做输出如下:
1. lol1
2. lol2
3. lol3
4. lol4
5. lol5
我要做的是反转l
值,但保留其他所有内容,以便输出看起来像这样:
5. lol1
4. lol2
3. lol3
2. lol4
1. lol5
答案 0 :(得分:9)
创建数组的副本,然后反转该数组。这是一个有效的例子:http://jsfiddle.net/naRKF/
代码(HTML与你的不一样,但JS技术是你应该关注/使用的):
var arr1 = [1,2,3,4,5];
var arr2 = arr1.slice().reverse(); //creates a copy and reverses it
var html = '';
for(var i = 0; i < arr1.length; i++){
html += '<div>' + arr2[i] + '.' + ' lol' + arr1[i] + '</div>';
}
$('body').append(html);
答案 1 :(得分:2)
$.each()
将始终以正确的顺序迭代数组。你想为这个循环使用for
循环,而不是jQuery的$.each()
。
答案 2 :(得分:2)
x = [1,2,3,4,5]
$.each(x.reverse(), function(i, l){
var lol = (some math stuff here)
$("#output").append("<tr><td>" + l + "</td><td>" + lol + "</td><tr>")
})
答案 3 :(得分:1)
试试这个:
$.each([1,2,3,4,5].reverse(),function(i,l){...
基本上,因为您使用的是原生数组,所以您可以简单地将其反转为相反的方向。
答案 4 :(得分:1)
你去吧
var arr = [1,2,3,4,5];
var counter = arr.length
$.each(arr, function(i, l){
var lol = "lol"+l;
$("#output").append("<tr><td>" + counter-- + ". </td><td>" + lol + "</td><tr>");
});
正在使用 demo
答案 5 :(得分:0)
var a=[1,2,3,4,5]
$.each(a, function(i, l){
var lol = (some math stuff here);
$("#output").append("<tr><td>" + a[a.length-i] + "</td><td>" + lol + "</td><tr>");
});
答案 6 :(得分:0)
这样的事情应该会有所帮助:
function test(arr) {
if ($.isArray(arr)) {
var reverse = arr.slice().reverse();
$(arr).each(function(i) {
console.log(reverse[i] + ". lol" + this);
});
}
}
test([1, 2, 3, 4, 5]);