如果没有.reverse(),如何以16个字符或更少的字符反转JavaScript中的数组?

时间:2017-09-07 08:58:01

标签: javascript arrays reverse

我正在尝试在Codewars上解决challenge,这需要您在JavaScript中反转数组,不超过16个字符。使用.reverse()不是一种选择。

代码中允许的最大字符数为28,其中包含函数名weirdReverse,因此只需要16个字符即可解决。限制 -

  

您的代码需要尽可能短,实际上不超过28个字符

示例输入和输出 -

  

输入:包含任何类型数据的数组。例如:[1,2,3,'a','b','c',[]]

     

输出:[[],'c','b','a',3,2,1]

给出的起始码是 -

weirdReverse=a=>

我的解决方案( 29 字符)是 -

weirdReverse=a=>a.sort(()=>1)

当然失败了 -

  

代码长度应小于或等于28个字符。

     

您的代码长度= 29 - 预期:'代码长度< = 28',而不是:'代码长度> 28'

我不确定还有什么要截断。

注意 - 我确实考虑过在CodeGolf SE上发布这个问题,但由于范围有限,我觉得它不适合那里。

1 个答案:

答案 0 :(得分:4)

我想在不给你答案的情况下给你一个提示:

您已关闭,但您可以使用而不是使用您需要在代码中添加的内容来保存字符。

通过添加您赢得使用的内容,您可以删除()

剧透(答案):



// Note: this only really works for this specific case.
// Never EVER use this in a real-life scenario.

var a = [1,2,3,'a','b','c',[]]

weirdReverse=a=>a.sort(x=>1)
//                     ^ That's 1 character shorter than ()

console.log(weirdReverse(a))