我不知道 forEach 和 for 之间的区别

I don't know the difference between the forEach and the for

function solution(s) {
  const str = s.split(" ");
  return str
    .map((ele) => {
      let result = "";
      for (let i = 0; i < ele.length; i++) {
        if (i % 2 === 0) {
          result += ele[i].toUpperCase();
        } else {
          result += ele[i].toLowerCase();
        }
      }
      return result;
    })
    .join(" ");

// console.log(solution("try hello world"));

这样我就可以得到一个正确的答案,那就是TrY HeLlO WoRlD。 然而,

function solution(s) {
  const str = s.split(" ");
  return str.map((ele) => {
    let result = "";
    ele.split("").forEach((value, index) => {
      if (index % 2 === 0) {
        result += value.toUpperCase();
      } else {
        result += value.toLowerCase();
      }
    });
    return result;
  });
  .join(" ");
}

这样一来,我就得不到答案了。 我应该如何更正使用 forEach 的答案? 正确答案是 TrY HeLlO WoRlD。

**

我不擅长写英文。 还请大家谅解

看来您唯一的问题是分号不允许您链接 .join。

function solution(s) {
  const str = s.split(" ");
  return str.map((ele) => {
    let result = "";
    ele.split("").forEach((value, index) => {
      if (index % 2 === 0) {
        result += value.toUpperCase();
      } else {
        result += value.toLowerCase();
      }
    });
    return result;
  }).join(" ");  // no semicolon so you can chain the join
};