对于循环不记录任何内容
For loops don't log anything
我正在使用javaScript来解决一个数学问题,以获取有关特定范围内整数的一些数据,具有特殊条件。
我正在使用for
循环来不断增加范围内(1 到 2000)内的数字。另一个for
循环检查整数的每个数字是否包含7
,如果是,则将其记录到控制台。
var i;
for (i = 1; i < 2001; i++) {
for (var index = 0; index <= i.length; index++) {
if (i.substring(index, index + 1) == 7) {
console.log(i);
}
}
}
目前,我没有得到任何输出,只是undefined
.也没有错误消息。
内循环似乎有问题。
for (var i = 1; i < 2001; i++) {
for (var index = 0; index <= i.length; index++) {
console.log(index); //No output - undesired
}
console.log(i); //Prints out i from 1 to 2000 - desired
}
为什么我的代码没有记录正确的数字?
i
是一个整数。 i.length
未定义。 length
是字符串和数组对象的属性,但不是整数的属性。 因此,for
循环正在比较index <= undefined
。 这种比较是false
的,你永远不会真正进入for
循环。
因为数字没有字符串属性。将其转换为字符串
for (var i = 1; i < 2001; ++i)
for (var i_str = i.toString(), index = 0; index <= i_str.length; ++index)
if (i_str.substring(index, index + 1) == 7)
console.log(i);
如上文所述i
是一个数字,没有字符串属性。没有双循环,它读起来更好。请改用match
:
for (var i = 1; i < 2001; ++i) {
if (i.toString().match(/7/g) != null) {
console.log(i);
}
}
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- 如果在过去两个小时内没有记录,返回0,javascript逻辑
- 有人知道有没有jquery插件可以在图像上写文本,并让用户将其放置在图像内的任何位置
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- AngularJS-检测到n分钟内没有任何操作并进入默认状态
- 使用多功能框在 chrome 扩展程序中包含内联自动填充功能的任何方法
- 使用 CasperJS 时,是否可以在执行任何内联或外部 Javascript 之前与加载页面的 DOM 进行交互
- 对于循环不记录任何内容
- 为什么不是't casper.log记录任何内容
- 找不到“”;应用程序“;模板或视图.对象{fullName:“template:application”}将不呈现任何内
- 如何在没有任何内置函数的情况下将元素添加到数组中
- 如何获得元素id点击没有任何内联函数调用在javascript
- 在javascript/jquery中是否有任何内置功能来过滤邮件,如php's函数(!使用filter_var
- 在JavaScript中过滤数组,而不使用任何内置函数或新数组
- Jquery是否有任何内置方法来单独查找可验证的元素?
- 我如何从流星外壳记录任何东西到控制台
- 我试图在不使用任何内置方法的情况下延迟此函数.为什么这行不通呢?
- 如何在不使用javascript中任何内置函数的情况下反转字符串
- Angular Bootstrap-ui 是否有任何内置函数来处理打开或关闭的东西
- Get请求没有记录任何内容