首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >`String.match`数组的结果是如何包含索引、组等的?

`String.match`数组的结果是如何包含索引、组等的?
EN

Stack Overflow用户
提问于 2020-01-17 14:29:28
回答 2查看 482关注 0票数 3

我只是想知道Javascript中regexp匹配的结果为什么会返回一个带有键控索引的一维数组?

代码语言:javascript
运行
复制
var str = "We will";

const result = str.match(/wi/);

console.log(Array.isArray(result));
console.log(result.index);
console.log(result.input);

在这里,数组如何具有基于字符串的键(“index”、"input“等)。有没有办法在Javascript中创建这样的数组?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-17 14:35:23

是的,有。数组只是JavaScript中的可迭代对象。MDN态

数组是类似列表的对象,其原型具有执行遍历和变异操作的方法。

这意味着您可以简单地分配一个属性。但是,在这样做时要小心,不要意外地覆盖现有的属性:

代码语言:javascript
运行
复制
const arr = [1, 2, 3];

arr.propName = 42;

console.log(
  ...arr,
  arr.propName
);

票数 6
EN

Stack Overflow用户

发布于 2020-01-17 14:34:20

从ecmascript5接口定义中,匹配输出为RegExpMatchArraynull,其中RegExpMatchArray定义如下

代码语言:javascript
运行
复制
interface RegExpMatchArray extends Array<string> {
  index?: number;
  input?: string;
}

如果您需要在类型记录中这样做,您将以完全相同的方式定义接口,并像访问对象那样访问/分配属性

如果你不需要打字稿,你可以跳过界面部分,只需

代码语言:javascript
运行
复制
const array = []

array.index = 1;
array.input = "test"

console.log(array.index, array.input)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59789374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档