Python recursive to NodeJS



我在python中有以下递归/循环:

''.join([x+y for x,y in zip(s[1::2], s[0::2])])

s上交换nibbles。

我试图在nodejs中尽可能简单地复制它,但在nodejs中是新的。递归循环构建和邮政编码使它变得困难。

所有帮助都将受到赞赏。

这个样本怎么样?请将其视为几个答案之一。

s.filter((e,i)=>{return i%2==1}).map((e,i)=>{return e+s.filter((e,i)=>{return i%2==0})[i]}).join('');

当每个部分分开时,可以写如下。

var even = s.filter((e,i)=>{return i%2==1});
var odd = s.filter((e,i)=>{return i%2==0});
var zip = even.map((e,i)=>{return e+odd[i]});
var result = zip.join('');
console.log(result);
  • 在此示例脚本中,数组的每个循环均由filter()map()表示。
  • s.filter((e,i)=>{return i%2==1})以均匀数字检索元素。
    • 您的脚本的s[1::2]可以用此表示。
  • s.filter((e,i)=>{return i%2==0})以奇数来检索元素。
    • 您的脚本的s[0::2]可以用此表示。
  • 您的脚本的zip()可以用even.map((e,i)=>{return e+odd[i]})表示。
    • e+odd[i]表示您脚本的x+y
  • zip.join('')表示您脚本的''.join(

参考:

  • filter()
  • map()
  • join()

演示

  • Python Demo
  • JavaScript Demo

如果我误解了您的问题,对不起。

最新更新