gpt4 book ai didi

javascript - 需要循环帮助来使用 Javascript 构建表

转载 作者:行者123 更新时间:2023-11-30 23:41:31 25 4
gpt4 key购买 nike

这是我的功能:

function CreateResultsTable(bps, incs) {
var table = document.createElement('table');
var str = '<table border=1>';
str += '<tr><th></th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr>';

var i = 0;

// up
for (i = 0; i < incs; i++) {
var num = (incs - i) * bps;
var newStr = num.toString();
str += '<tr><th>' + newStr + '</th><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td></tr>';
}
i = 0;

//down
for (i = incs; i > 0; i--) {
var num = (incs - i) * bps;
var newStr = '-' + num.toString();
str += '<tr><th>' + newStr + '</th><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td></tr>';
}
return str;
}

我想要的是说我传入{bps = 25, incs = 4}。它应该始终创建两倍于 incs 的行数(在标题行下方)。因此,对于 incs = 4 和 bps = 25,它应该创建第一个 td = 100, 75, 50, 25, -25, -50, - 的行75、-100——按此顺序。

它现在所做的就是创建它们,例如 100, 75, 50, 25, -0, -25, -50 - 就是这样。

我做错了什么?

最佳答案

最后一个循环需要是 >=而不仅仅是>然后从一个较低的开始,如下所示:

for (i = incs-1; i >= 0; i--) {

You can test it out here ,唯一的其他变化是 </table>添加在末尾并在边框属性上加上引号。

<小时/>

不过,有一种更简单的方法可以解决此问题,即使用单个循环并排除 0如果你愿意,像这样:

function CreateResultsTable(bps, incs) {
var str = '<table border="1">';
str += '<tr><th></th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th></tr>';

for (var i = incs*bps, low = -i; i >= low; i-=bps) {
if (i == 0) continue; //exclude the 0 row
str += '<tr><th>' + i + '</th><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td><td>100,000</td></tr>';
}
str += '</table>';
return str;
}

You can test the result here ,这只是一种更简单/更便宜的单循环方式或做同样的事情。

关于javascript - 需要循环帮助来使用 Javascript 构建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4453930/

25 4 0
文章推荐: javascript - 检查标记是否位于当前可见区域中
文章推荐: javascript - 如何从 URL 获取 GET 查询?
文章推荐: javascript - 我可以将 javascript 放在
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com