使用charAt在数组上循环以获取javascript中每个值的第一个字母

使用charAt在数组上循环以获取javascript中每个值的第一个字母,javascript,arrays,charat,Javascript,Arrays,Charat,我是JS新手,正在努力理解chartAt。我创建了一个问题,希望遍历一个数组,并使用charAt从数组中提取每个值的第一个字符。我有点被我的代码卡住了 var myArray = ['adam', 'bianca', 'cat', 'dennis']; var myFunc = function (letter) { for (var i = 0; i < letter.length; i += 1) { letter.charAt(0); cons

我是JS新手,正在努力理解chartAt。我创建了一个问题,希望遍历一个数组,并使用charAt从数组中提取每个值的第一个字符。我有点被我的代码卡住了

var myArray = ['adam', 'bianca', 'cat', 'dennis'];
var myFunc = function (letter) {
    for (var i = 0; i < letter.length; i += 1) {
        letter.charAt(0);
        console.log(letter.charAt(0));
    }
}
var myArray=['adam','bianca','cat','dennis'];
var myFunc=函数(字母){
对于(变量i=0;i
在迭代循环中,
字母
是传递给函数
myFunc()
的数组。您需要访问它的元素,您正在通过
i
进行迭代。使用
字母[i].charAt(0)
代替
字母.charAt(0)

var myArray=['adam','bianca','cat','dennis'];
var myFunc=函数(字母){
对于(变量i=0;i

因此,您对
String.prototype.charAt()
的理解是正确的,但循环迭代是错误的。

如果您要做的是遍历数组中的每个元素并获得第一个字母,则需要在数组中迭代,而不是在单词上迭代(在您的解决方案中称之为
字母
。因此,您将有如下内容:

for( var i=0; i<myArray.length; i++ ) {
    console.log( myArray[i].charAt(0) );
}

另外,您正在创建一个函数(
myFunc
),但实际上从未调用过它。

似乎是正确的,只是您在循环中编写了一个常量,而不是使用循环变量:

var myArray = ['adam', 'bianca', 'cat', 'dennis'];
var myFunc = function (letter) {
    for (var i = 0; i < letter.length; i += 1) {
        letter.charAt(i);
        console.log(letter.charAt(i));
    }
}


> myFunc(myArray[1])
b VM622:6
i VM622:6
a VM622:6
n VM622:6
c VM622:6
a VM622:6
undefined  
如果您使用jQuery

var myArray = ['adam', 'bianca', 'cat', 'dennis'];
$.each(myArray,function(){console.log(this.charAt(0))});
如果您正在使用ES6

const myArray = ['adam', 'bianca', 'cat', 'dennis'];
myArray.forEach(myFunc => console.log(myFunc.charAt(0)));

//output
a
b
c
d
如果要将输出放入数组中

const myArray = ['adam', 'bianca', 'cat', 'dennis'];
const myFunc = myArray.map(name => name.charAt(0));  

console.log(myFunc); 
//output
[ 'a', 'b', 'c', 'd' ]

//对数组调用.map()时,它接受回调函数的一个参数并返回一个新数组

感谢您提供的信息,非常感谢!:).prototype是什么意思?其他人也这么认为,但我不清楚它是什么以及何时应该使用它。请看一看JavaScript对象继承不像许多其他语言那样在类上运行,而是在对象类型的所有实例共享的原型方法上运行。@jstone这里也有一些好东西:
var myArray = ['adam', 'bianca', 'cat', 'dennis'];
$.each(myArray,function(){console.log(this.charAt(0))});
const myArray = ['adam', 'bianca', 'cat', 'dennis'];
myArray.forEach(myFunc => console.log(myFunc.charAt(0)));

//output
a
b
c
d
const myArray = ['adam', 'bianca', 'cat', 'dennis'];
const myFunc = myArray.map(name => name.charAt(0));  

console.log(myFunc); 
//output
[ 'a', 'b', 'c', 'd' ]