计算数字并在时间输出一个字符

时间:2012-05-08 13:11:44

标签: javascript jquery html

我努力了,但我无法理解。

我想输出数字,但是时间只输出一个数字。我需要创建这样的东西:

这应该在for循环中创建: http://jsfiddle.net/jv7H8/

但正如您所看到的,当数字>时,单元格中有多个字符。 10。

期望的结果应该是例如:

1,2,3,4,5,6,7,8,9,1,0,1,1,1,2,1,3,1,4 ....

有什么建议吗? :)

4 个答案:

答案 0 :(得分:3)

首先将数字连接成一个字符串:

var s = '';
for (var i = 1; i <= 42; i++) s += i.toString();

然后循环字符串中的字符:

for (var i = 0; i < s.length; i++) {
  // output s[i]
}

答案 1 :(得分:1)

以下是我的方法更新了您的jsfiddle:http://jsfiddle.net/jv7H8/2/

我改变的相关方面是添加一个for循环,通过你要输出的数字的长度进行处理:

var str = number.toString(); // the current number as you're looping through
for (var k = 0; k < str.length; k++) {
    var oneLetterAtATime = str.charAt(k); // get the digits one at a time
    output += "<td>" + oneLetterAtATime + "</td>";
}
number++;

修改:如果您只需要十九列,那么您需要为显示另一个<td>的每个实例更新列计数器,但不要回到周围增加列计数器。即,

if (k > 0) {
    j++;
}

这是一个更新版本,显示了它的工作原理:http://jsfiddle.net/jv7H8/21/

值得注意的是,当您在第19列中显示多个数字的数字时,没有一个非常好的方法可以不超过第19列。

答案 2 :(得分:0)

获取字符串中的所有字符:

var t = '';
var limit=100;
for (var j = 1; j<= limit; j++) t += j.toString();

var output='';
for (var j = 0; j < t.length; j++) {
  output=output+','+t[i];
}
alert(output);

答案 3 :(得分:0)

请检查您的更新小提琴here

这将为您的目的服务。

以下是代码,大部分内容仅为您的代码:

rows = 3;
columns = 19;
number = 1;
var str = "";
output = '<table style="width:100%;">';
for(var i = 0; i < rows; i++) {
    output += "<tr>";
    for(var j = 0; j < columns; j++) {
        output += "<td>" + number + "</td>";
        str +=number;
        number++;
    }
    output += "</tr>";
}
output += "</table>";
$("#game").html(output);

var strvalue="";

$.each(str, function(e,v){
    if (e > 0){
        strvalue = strvalue + ", "+ v;
    }
    else{
    strvalue += v;
    }
});

alert(strvalue);