首页 > 解决方案 > 在javascript中创建一个以相反顺序返回数组和元素的函数

问题描述

正如我在标题中所说,我想制作一个接收数组并以相反顺序返回所有元素的函数。我研究了一点 javascript,但这让我困扰了一段时间。我做了两个函数来说明清楚,因为连我的朋友都不明白这个概念,第二个是在窃听我的那个。

const reverse = (pal) => {
  var aux = "";
  for(var i in pal){
      aux = pal[i] + aux;
  }
  return aux;
}
console.log(reverse("are")); //=> returns "era"

上面这个函数工作正常,只返回一个单词,下一个需要返回数组和所有单词反向(以防万一有人不明白)

const reverPal = (pal) => {
  let aux = "";
  let aux1 = "";
  for (var i in pal) {
      aux += pal[i] 
      for (var i in aux.length) { //I think the problem starts here
          aux.forEach((word) => {
              word.reverse();
              aux1 += word;
          })
      }
  }
  return aux1;
}

console.log(reverPal(["hello", "how", "are", "you"]));
//should return = "olleh", "woh", "era", "ouy"
//but returns nothing in this code  

有人能帮我吗?

标签: javascriptarraysforeachreverse

解决方案


反转字符串的一种简单、实用的方法是将其展开到数组中并调用reverse()它,然后将join()其备份:

let word = "hello"

console.log([...word].reverse().join(''))

您可以将其应用于数组的每个元素map()

reverPal = (arr) => arr.map(word => [...word].reverse().join(''))

console.log(reverPal(["hello", "how", "are", "you"]))


推荐阅读