【发布时间】:2012-11-13 19:12:59
【问题描述】:
RegExp.exec 函数 returns something that looks like a hybrid array。它是一个数组,但它有属性。
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 的结果上运行时那样显示属性,所以我怀疑它仍然不是一回事。
【问题讨论】:
标签: javascript arrays properties