javascript - 使用 javascript 从数组中选择某些元素

标签 javascript arrays

我正在尝试从表单序列化字符串中提取用户 ID,这是迄今为止我所拥有的。

采取

var dataString = "viewUsers_length=10&id%5B%5D=8163&id%5B%5D=8188&id%5B%5D=8141"

作为示例字符串。

我将它分成这样的数组

var arrStr = dataString.split(/[=&]/);

结果是一个数组

[0]viewUsers_length
[1]10
[2]id%5B%5D
[3]8163
[4]id%5B%5D
[5]8188
[6]id%5B%5D
[7]8141

但我只想要 ids (8163, 8188, 8141)

实际上,这个字符串可能包含数千个这种格式的 ID。到目前为止,我已经花了一些时间进行谷歌搜索,但还没有找到任何我认为可行的东西。

最佳答案

不幸的是,由于 ids 的参数名称都相同,解析查询字符串的常规方法可能不可行。所以,这可能是正则表达式的工作!

var dataString = "viewUsers_length=10&id%5B%5D=8163&id%5B%5D=8188&id%5B%5D=8141";

var regex = /&id%5B%5D=(\d+)/g;
var match;
var matches = [];
while (match = regex.exec(dataString)) {
    matches.push(match[1]);
  }

console.log(matches)
var list = matches.join(', ');

document.getElementById('output').innerHTML = list;
<div id="output"></div>

关于javascript - 使用 javascript 从数组中选择某些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35778074/

相关文章:

javascript - <asp :Button>, 中的 HREF 除了 OnClientClick 调用内联 div 之外还有哪些替代方法?

java - 按姓氏和顺序对行进行排序

javascript - 按预定义数字对数组进行排序

c++ - C++ 中的 Matlab 类型数组

Python 列表索引超出范围 python 在数组上

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

javascript - 通过 url 打开 jQuery Accordion 选项卡

javascript - Kendo grid - 如何使用 JavaScript 打开弹出编辑窗口

javascript - Raphael JS - 单击时防止文本突出显示

javascript - 为什么有些 JS/CSS 的 URL 问号后面有数字?