为什么“i”会成为循环中的一根字符串
Why does `i` become a string in my loop?
为什么我必须将i
解析为一个数字和一个变量,以便在str.charAt(i-1)
正常工作的情况下让str.charAt(i+1)
工作?
这是针对coderbyte"简单符号"的,我花了两个小时才弄清楚i
有时是字符串,有时是数字
function SimpleSymbols(str) {
// code goes here
var letters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var letterArray=letters.split('');
var strArray=str.split('');
var truth=false;
for (var i in strArray){
var e=parseFloat(i)+1;
if (letterArray.indexOf(strArray[i]) > -1){
if ((str.charAt(i-1)==='+')&&(str.charAt(e)==='+')){
truth = true;
}
}
}
return truth;
}
// keep this function call here
// to see how to enter arguments in JavaScript scroll down
SimpleSymbols(readline());
+
为字符串重载-它也是串联运算符。例如
'5' + 2 // '52'
但CCD_ 6没有以相同的方式过载;它将字符串转换为数字:
'5' - 2 // 3
要回答实际问题:
为什么
i
会成为我循环中的一个字符串?
因为for...in
迭代对象的属性名称,而这些名称总是字符串。有关详细信息,请参阅MDN文档。您还会发现一个大的警告框,其中解释了为什么不将for...in
与数组一起使用。
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ACE编辑器正在删除模块,因为define是't一根绳子
- 根据另一个数组对数组进行排序,包括位置和字符串[ES6]
- 从一个数组中移除字符串(如果存在于另一个数组)
- 我可以使用JS一次使用JSON数组中的一个字符串吗
- 将javascript中的字符串拆分为一个数组
- 从一组具有相同起始和结束的所有段落的段落中提取包含特定字符串的段落
- 将日期字符串转换为另一种语言
- 如何在 Javascript 中用一组字符拆分子字符串上的字符串
- 为什么“i”会成为循环中的一根字符串
- 将一根细绳从烧瓶中传给angularjs
- 一根绳子可以有回文吗,有没有更好的方法可以做到这一点
- d3.行为缩放 仅使用一根手指时禁用触摸屏上的平移
- Angular.JS ng重复打断一根绳子
- 什么是稳健的&这是一种很好的方式,可以循环穿过一根绳子,把它的一部分刮下来
- 为什么我的$variable放在再培训局时就像一根绳子
- 如何把一根绳子分成几组
- 我怎样才能把一根弦变成一把钥匙
- 把一根绳子切成一根绳子
- D3 条形图 - 最后一根柱线悬在 X 轴的末端