Javascript 向数组中插入字符码的问题

Javascript 向数组中插入字符码的问题,javascript,arrays,Javascript,Arrays,这有点让人发疯。我是javascript新手,很久没有编写代码了。我希望将字符串转换为字符码,并将其转储到数组中。这是当前代码: function fillArray(str) { var arr=[]; for (var i = 0; i < str.length; i++) { arr.push(str.charCodeAt(str.charAt(i))); } return arr; } 函数填充数组(str){ var-arr=[]; 对于(变量i=0;

这有点让人发疯。我是javascript新手,很久没有编写代码了。我希望将字符串转换为字符码,并将其转储到数组中。这是当前代码:

function fillArray(str) {
var arr=[];

  for (var i = 0; i < str.length; i++) {

    arr.push(str.charCodeAt(str.charAt(i)));
  }

  return arr;
}
函数填充数组(str){
var-arr=[];
对于(变量i=0;i

结果是,如果我发送一个类似“abcd”的字符串,它将返回[97,97,97,97]。即使字符(i)应该遍历,数组似乎只通过查看字符串中的第一个字符来形成。我遗漏了什么?

charCodeAt
获取所需字符的索引,而不是实际字符的索引;因此,只需删除
charAt
部分:

arr.push(str.charCodeAt(i));

charCodeAt
获取所需字符的索引,而不是实际字符;因此,只需删除
charAt
部分:

arr.push(str.charCodeAt(i));

正如T.J.Crowder所指出的,将索引作为参数。你一直获得97分的原因是(来自):

如果它[参数]不是数字,则默认为0


所以它总是取第一个字母(索引为0),即“a”,其字符代码为97。

正如T.J.Crowder所指出的那样,将索引作为参数。你一直获得97分的原因是(来自):

如果它[参数]不是数字,则默认为0


因此,它总是使用第一个字母(索引为0),即“a”,其字符代码为97。

您可以将字符串拆分为一个数组(转储),并将每个字符映射为其ascci代码(需要转换)。这样,您可以很快用JS编写它:

var-fillArray=str=>str.split(“”).map(x=>x.charCodeAt(0));

日志(fillArray(“世界日报”)您可以将字符串拆分为一个数组(转储),并将每个字符与其ascci代码映射(需要转换配置)。这样,您可以很快用JS编写它:

var-fillArray=str=>str.split(“”).map(x=>x.charCodeAt(0));

日志(fillArray(“世界日报”)但是为什么他得到97分time@Mahi因为他正在传递
.charAt()
的返回值,作为
.charCodeAt()
使用的索引。它的计算结果通常为
NaN
,而
charCodeAt()
认为NaN等同于
0
。但为什么他会得到97分呢time@Mahi因为他正在传递
.charAt()
的返回值,作为
.charCodeAt()
使用的索引。它的计算结果通常为
NaN
,而
charCodeAt()
接受的值相当于
0