javascript - 当值可选时,如何在 Javascript/jQuery 中将 url 拆分为键值对

标签 javascript jquery regex

我想将 url 拆分为键/值对,但有时有独立的键(不携带值)。 IE 我有一些这种格式的网址:

 'first_resources/99/second_resources/41/third_resources/fourth_resources/98'

这里,第一个、第二个和第四个资源有 id,但第三个资源没有。

我想让这个输出像这样的数组:

[["first_resources",99],["second_resources",41],["third_resources"],["fourth_resources",98]]

最佳答案

您可以使用相对简单的正则表达式和 Array.map() 操作来完成此操作:

var re = /(\w+\/\d+)|(\w+)/g,
str = 'first_resources/99/second_resources/41/third_resources/fourth_resources/98',
results;

results = str.match(re).map(function(item) {
  return item.split('/');
})

根据您的目标平台,您可能需要填充 Array.map .

关于javascript - 当值可选时,如何在 Javascript/jQuery 中将 url 拆分为键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15634403/

相关文章:

javascript - 如何设置字体大小打印时间

python - 这个正则表达式是否意味着它必须以 A 开头,以 Z 结尾?研究 "\A[0-9A-Za-z_-]+\Z"

javascript - 在 javascript 正则表达式中否定并重复原子组

javascript - 如何应用翻转声音

javascript - jQuery - 如何使用 onClick 事件更改图像和文本?

javascript - React 中的表单提交

javascript - 从 iframe 内部获取鼠标绝对位置

javascript - jQuery 自动完成不会显示超过 10 个结果

jquery - jTable 禁用对特定列的排序

正则表达式检查一个字符是否与其他字符组合存在,但不单独存在