Javascript 我的代码不适用于forEach方法

Javascript 我的代码不适用于forEach方法,javascript,Javascript,我想知道为什么forEach在这个数组上不起作用,但map确实起作用 我尝试使用.map,它可以工作,但不应该也可以 function letters() { let string = "abcd"; let newString = string.split("").forEach(i => { return String.fromCharCode(i.charCodeAt(0) + 1); }); newString = newString.join("");

我想知道为什么forEach在这个数组上不起作用,但map确实起作用

我尝试使用.map,它可以工作,但不应该也可以

function letters() {
  let string = "abcd";

  let newString = string.split("").forEach(i => {
    return String.fromCharCode(i.charCodeAt(0) + 1);
  });

newString = newString.join("");

}
我使用forEach时未定义

不应该也做每一件工作

function letters() {
  let string = "abcd";

  let newString = string.split("").forEach(i => {
    return String.fromCharCode(i.charCodeAt(0) + 1);
  });

newString = newString.join("");

}
不,不应该。报告说:

返回值
未定义


这就是
map
forEach
之间的区别。它们都为数组的每个元素调用函数
map
返回包含结果的新数组,
forEach
忽略结果,不返回任何内容。

如果要使用
forEach

function letters() {
  let string = "abcd";

  let newString = '';
  string.split("").forEach(i => {
    newString += String.fromCharCode(i.charCodeAt(0) + 1);
  });

  return newString;

}

forEach
map
做不同的事情,它们不能互换