如何使用javascript中的映射编写记录消息每个字母的代码

如何使用javascript中的映射编写记录消息每个字母的代码,javascript,arrays,string,Javascript,Arrays,String,前 我对编码还不熟悉,而且很难理解这个等式。像这样的东西可以解决这个问题: var myMessage = "coding is really fun" let newMessage = myMessage.map(??) console.log(newMessage) 使用.map方法的另一种方法是将字符串转换为数组 const myMessage = "coding is really fun".split('') .map(letter => console.log(l


我对编码还不熟悉,而且很难理解这个等式。

像这样的东西可以解决这个问题:

var myMessage = "coding is really fun" 
let newMessage = myMessage.map(??)
console.log(newMessage) 

使用
.map
方法的另一种方法是将字符串转换为数组

const myMessage = "coding is really fun".split('')
    .map(letter => console.log(letter));
Array.from(myMessage)
方法将字符串
myMessage
转换为一个数组,这样之后您就可以在其上使用
.map
方法

注意,使用
.map
方法并且不返回任何内容是一种不好的做法。如果没有返回任何内容,则使用
.forEach
方法

EDIT:正如@Ivar正确指出的那样,如果我们在这个特殊情况下不从变量中返回任何内容,那么将
.map
的结果保存在变量中没有任何意义。因此,第二行可以是:

var myMessage = 'coding is really fun';
var newMessage = Array.from(myMessage).map(function(letter) {
    console.log(letter);
});

在JavaScript中,不能对字符串使用
.map
。您必须将其转换为数组…但在这一点上,您将有单独的字符。我不确定在这种情况下如何使用
.map
。每个字母或每个字符
map
是数组方法,而不是字符串方法。我会在字符数组上使用
.forEach(console.log)
<代码>地图不是这里的正确工具。对于这个问题,它给出了一个字符串。我想我不知道如何将其转换为数组,然后使用映射记录每个字符。我的简单攻击计划是:var myMessage=“coding is really fun”让newMessage=myMessage.split(“”)console.log(newMessage)@stephen1993你就快到了。自己回答:该方法返回什么?可以对该返回值使用该方法吗?不要对简单迭代使用
.map
。要么从回调中返回一些内容,要么使用
.forEach
。是的,但是看起来@stephen1993想要使用
map
进行练习,至少从所问的问题来看这是假设的。如果他不想将值存储在数组中,无需使用
map
@OriolGrau谢谢这就是我要找的。在我的问题中,我不得不使用.map,尽管它不是将字符串转换为单个字符的最佳方法。你能解释一下第二行是怎么回事吗。您是否将“字母”作为一个函数,然后调用该函数?有没有一种更简单的方法来写最后一行,这样我可以一步一步地看清楚。
split
tans将字符串格式化为一个字母数组,然后
map
对每个字母进行迭代<代码>字母表示数组中的每个项,您可以将名称更改为您认为最合适的名称。学习时,我喜欢做的一件事是将所有内容分解成小块并
控制台。记录所有内容,以便能够准确地跟踪每个步骤中发生的情况。不要使用
.map
进行简单的迭代。要么从回调中返回一些内容,要么使用
.forEach
。谢谢,@VLAZ,我已经看到了您对上一个答案的评论。我的答案只是尝试将.map附加到字符串的另一种方法。这仍然是一种不好的做法。如果在回调中没有返回任何内容,那么将
map
的结果分配回
newMessage
是没有任何意义的
newMessage
将始终是未定义的
值的数组。
Array.from(myMessage).map(function(letter) {
    console.log(letter);
}