javascript - 在 javascript 对象定义中连接字符串

标签 javascript arrays regex object

我正在尝试组合一个包含任意数量的 slugs 和键值的正则表达式路由器。

我通过创建模式对象及其各自的模块来完成此操作,然后将正则表达式与模块进行匹配。

但是当我使用“+”运算符连接对象定义内部的字符串时,JavaScript 会抛出错误。

// URI PATTERNS
var SLUG ='\/[a-z|A-Z|0-9|-]+)([\/]{0,1})?';
var KEYS ='\/?(\?.*)?$/';

// ROUTES 
var routes = {

    '\/public\/images'  +   KEYS                : 'images', /* <-- ERROR: '+' Unexpected token */
    '\/public\/other'   +   SLUG    +   KEYS    : 'something-else',

};

为什么会抛出此错误?除了将这些值存储在单独的变量中之外,如何连接这些值?

最佳答案

// URI PATTERNS
var SLUG = '\/[a-z|A-Z|0-9|-]+)([\/]{0,1})?';
var KEYS = '\/?(\?.*)?$/';

// ROUTES 
var routes = {};

function addRoute(keyParts, value){
  routes[keyParts.join('')] = value;
}

addRoute(['\/public\/images', KEYS], 'images');
addRoute(['\/public\/other', SLUG, KEYS], 'something-else');

console.log(routes);

关于javascript - 在 javascript 对象定义中连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40645736/

相关文章:

javascript - 如果选择特定单选按钮如何显示表单

javascript - 通过 HTML5 或 JavaScript 启动 Android 手机前置摄像头

arrays - PostgreSQL - 左连接数组的最后一项

C 程序读取文件内容并将其传递给数组

java - 在与正则表达式匹配的字符串中查找一些文本

regex - 需要帮助理解 perl 中使用\*{4} 的搜索代码

用于查找格式为 $VAR 或 ${VAR} 的 Unix 环境变量的 Java RegEx 模式

javascript - 如何在 CSS 相关函数中使用 JS 数学的最大值

javascript - 使用 let 变量而不是使用全局变量

java - 如何使用整数数组进行间距计数来形成垂直字符串图案?