javascript - JavaScript RegExp 中 exec 方法返回的数组类型是什么?
问题描述
我的问题有一个概念方面,我不清楚一件事。
当我创建一个正则表达式let reg = /javascript/i;
并通过方法检查它时exec()
,它会返回给我一个看起来不寻常的数据数组,并且它具有键/值结果。
reg.exec('hello javascript');
// ["javascript", index: 6, input: "hello javascript", groups: undefined]
一切都是关于正确的结果,我的问题是关于返回数组模式。我知道在 JavaScript 中我们通常不能定义这样的数组,但是 , 和 键的理由index
是input
什么groups
?
当我用isArray
方法检查这个结果时,它说这是一个数组:
Array.isArray(reg.exec('hello javascript'));
// true
当我尝试像这样定义一个数组时,JS 会向我返回一个错误:
let myArray = ["javascript", index: 6, input: "hello javascript", groups: undefined];
// Uncaught SyntaxError: Unexpected token ':'
提前感谢您向我解释发生了什么,我再次强调我的问题不是关于 exec 或 regexp 的性能,而是关于这个数组。
解决方案
推荐阅读
- arrays - excel VBA中的数据验证列表
- python - Pandas:创建带有产品列表组的表格
- python - 从 csv 中透视数据并存储在数据框中
- python - 仅替换模式中的第二次出现
- javascript - 检查 JavaScript 数组中的值范围
- react-native - 应用程序已停止反应本机
- swift - 如何绕过不完整的 segue 错误
- javascript - 如何使用强大的 npm 将文件上传到 Google Cloud
- verilog - 在 Quartus 中编译时出现以下错误:错误 (10663):
- javascript - Fabric js animateColor函数未找到错误