该RegExp.exec函数返回一个看起来像混合数组的东西。它是一个数组,但它具有属性。
console.log(/d(b+)(d)/i.exec("cdbBdbsbz"));
// => ["dbBd", "bB", "d", index: 1, input: "cdbBdbsbz"]
我可以打电话给result[0], result[1], result.index,result.input等。
我如何自己制作?
[0, 1, "a": 1]显然是一个语法错误,并且{"0": 1, "1": 1, "a": 1} 确实给了我一个可以索引和访问属性的对象,但是它与exec.
我试着用__proto__:
arr = [1, 2, 3];
arr.__proto__.a = 1 // arr.a is 1 now
但是console.log不会像在结果上运行时那样显示属性exec,所以我怀疑它仍然不是一回事。