Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么循环记录的是字母而不是数字?_Javascript - Fatal编程技术网

Javascript 为什么循环记录的是字母而不是数字?

Javascript 为什么循环记录的是字母而不是数字?,javascript,Javascript,var被设置为一个整数,据我所知,I++意味着递增1。我不明白为什么它会打印变量句子的所有字符,而不是对应于长度的所有整数 var-station=“我喜欢学习软件开发”; for(变量i=0;i

var被设置为一个整数,据我所知,
I++
意味着递增1。我不明白为什么它会打印变量
句子的所有字符,而不是对应于长度的所有整数

var-station=“我喜欢学习软件开发”;
for(变量i=0;i<句子长度;i++){
如果(句子[i]!=“”){
console.log(第[i]句);
}
}
字符串

有两种方法可以访问字符串中的单个字符。第一种是
charAt()
方法:

另一种方法(在ECMAScript 5中介绍)是将字符串视为类似于数组的对象,其中单个字符对应于数字索引:


也许您在另一种语言中有过这样的经历:索引字符串的字符将返回一个整数

在JavaScript中,可以获得字符串的人工表示。字符串最初以UTF-16编码,转换成二进制,然后存储在内存中。但是,当您访问它时,由于特定于语言的自动转换,您将获得实际的字符串而不是UTF-16代码

但是,如果使用Node.js,则可以使用缓冲区存储字符串并直接处理二进制数据

在JavaScript中,如果要获取代码,可以使用codePointAt(index)方法:

alert( "z".codePointAt(0) ); // 122
alert( "Z".codePointAt(0) ); // 90

正如其他人所说,
var-station=“…”
创建一个字符集合或数组,然后循环使用

代码中的一个小改动有助于解释

//创建字符串(或字符数组)
var-station=“我喜欢学习软件开发”;
//循环“句子”的长度。
//`i`是数组中从0到`SENTURE.length'的索引`
for(变量i=0;i<句子长度;i++){
如果(句子[i]!=“”){
log(“char:[”+句子[i]+“]i:[“+i+”]);
}

}
您的问题并不完全清楚。
是否要打印与as空格(“
”)不对应的每个字符的索引?
如果是这样的话,下面就可以了

var-station=“我喜欢学习软件开发”;
for(变量i=0;i<句子长度;i++){
如果(句子[i]!=“”){
控制台日志(i);
}

}
String是字符的集合
句子[i]
的意思是“提取字符串中
i
位置的字符,并创建一个仅包含该字符“”的新字符串……而不是对应于长度的所有整数”你的意思是什么?您是否希望:
[0,1,2,3…]
?请举例说明您希望程序打印什么。你在期待什么?它所做的与你所期望的有什么不同,或者它正试图让你做什么?1=a,2=b,3=c。。。这就是你说的索引吗?很抱歉,我是个新手。@TuCraiN Index是字符串中的位置。如果在字符串的第一个字母上方写0,那么字符串中的第二个字母是2,以此类推,计算字符串中的每个字母,
索引是字符串中每个字母的编号或位置。JS中的数组和字符串(大多数语言从0开始,而不是1)。在你的循环中,i是索引。您正在循环遍历字符串中的每个“字母位置”,并在该索引处打印出字母。除非“字母”是空格,因为'if`语句告诉JS跳过空格。问题是,您希望它打印什么。您可能需要阅读字符串和数组。我们无法在此网站上提供完整的JavaScript语言教程和解释。抱歉,这不是这个特定网站的正确格式或用途。希望这能为你指明正确的方向。当你有一个更好的清晰度,回来重新审视这个问题,也许我们可以帮助你更多。另外,我还将添加另一个片段,它将打印索引以及字符串索引处的字符。希望这能澄清问题。索引(i)对应于句子中字母的顺序。i=0位,第一位,第二位,第三位。。。在给定的句子中。索引(
i
在代码中)是一个位置,有点像计数。但与“正常生活”不同,它从
0
开始,而不是
1
。有这样一种东西,“a”由一个特定的数字表示,“b”总是由一个不同的数字表示,等等。但是在计算机中,数字是非常不同的。它们被称为ASCII值或utf-8值等。您可以查找这些值。如果这是您想要的,请参阅我的第二个示例。
return 'cat'[1]; // returns "a"
alert( "z".codePointAt(0) ); // 122
alert( "Z".codePointAt(0) ); // 90