javascript - 创建嵌套数组类型的巧妙方法

标签 javascript node.js

我有这样的东西:

const rhs = ['Foo.Bar', 'Two', 'Three'];

我想得到:

Array<Foo.Bar<Two<Three>>>

我有这个可以用:

       const literalType = rhs.reduce((a,b) => {
                    return [a,'<',b].join('');
                });

       const withBraces = literalType.concat(
            new Array(rhs.length).fill(null).join('>')
       );

       const finalVal = `Array<${withBraces}>`,

但我正在寻找比这更巧妙的东西。有没有人知道如何简化它?

最佳答案

您可以像下面这样使用“Array.reduce”来实现这一点

const rhs = ['Foo.Bar', 'Two', 'Three'];

let res = rhs.reduce((s, d, i) => 
      (s += '<' + d
        , i == rhs.length -1 && (s += ('>'.repeat(i+1)))
        , s) 
      , 'Array')

console.log(res)

关于javascript - 创建嵌套数组类型的巧妙方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53348307/

相关文章:

javascript - 如何使用 webbrowser 控件将 javascript 注入(inject) iframe?

javascript - 在不完全重新加载第二个 iframe 的情况下打开两个 iframe

javascript - 对不同对象中的函数使用相同的键时,V8 中的函数调用缓慢

javascript - 在 TypeScript 中使用外部模块声明全局变量

node.js - 有没有办法根据 package.json 的更改来更新特定的依赖项?

javascript - 使用单一功能发布到 Facebook 墙

javascript - 使用 iframe 和 ontouchstart 的 Mobile Safari 中的文本选择错误

node.js - 将 Node 版本从 v6.10 升级到 v10.x 后捆绑项目出现差异

node.js - BigQuery Node.js API 权限错误

node.js - 在 Nginx 中使用代理传递时 Express 上的“无法获取”