相关疑难解决方法(0)

在JavaScript中创建类似于数组的对象

在JavaScript中,有些对象假装是数组(或者是"类似数组").这些对象是arguments,NodeLists(从getElementsByClassName等等返回)和jQuery对象.

console.logged时,它们显示为数组,但它们不是.我知道,为了像数组一样,对象必须具有length属性.

所以我做了一个像这样的"对象":

function foo(){
    this.length = 1;
    this[0] = "bar";
}

var test = new foo;
Run Code Online (Sandbox Code Playgroud)

当我console log(test),我得到(如预期)一个foo对象.我可以使用它将其"转换"为数组

Array.prototype.slice.call(test)
Run Code Online (Sandbox Code Playgroud)

但是,我不想转换它,我希望它像阵列一样.如何制作类似于数组的对象,以便在console.log它出现时,它会显示为数组?

我尝试过设置foo.prototype = Array.prototype,但console.log(new foo)仍显示一个foo对象,而不是一个数组.

javascript arrays object

19
推荐指数
2
解决办法
9838
查看次数

标签 统计

arrays ×1

javascript ×1

object ×1