gpt4 book ai didi

javascript - 数组插入 JavaScript

转载 作者:行者123 更新时间:2023-11-28 14:56:26 25 4
gpt4 key购买 nike

我有一个用例如下

var myObject1 = new myObject();

并且 myObject 应该有一个数组,用于存储从此 myObject 创建的所有对象

示例:-

如果创建一个对象,例如

var xyz = new myObject();
myObject.all[0] == xyz

有什么方法 - 当我创建一个对象时,我可以将其插入同一对象定义中的数组中。

最佳答案

您可以直接在构造函数上创建一个属性,以获得问题中提到的 myObject.all[0] == xyz 行为。从构造函数中将每个对象添加到数组中:

function MyObject() {
MyObject.all.push(this);
// any other initialisation tasks here
}
MyObject.all = [];

var obj1 = new MyObject();
var obj2 = new MyObject();

// to access the array use MyObject.all:
console.log(MyObject.all[1] === obj2); // true

或者,您可以将数组添加到对象原型(prototype),但仍然从构造函数内向该数组添加新对象:

function MyObject() {
this.all.push(this);
// any other initialisation tasks here
}
MyObject.prototype.all = [];

var obj1 = new MyObject();
var obj2 = new MyObject();

// to access the array:
console.log(obj1.all);
// or
console.log(MyObject.prototype.all);

console.log(obj1.all[1] === obj2); // true

(注意:在两个示例中,我都将 MyObject 拼写为大写“M”,因为它是 JS 约定,对于用作构造函数的函数来说,大写是大写的。这不是强制性的。 )

关于javascript - 数组插入 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42661623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com