gpt4 book ai didi

javascript - 如何为数组/对象创建方法/函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:50:00 24 4
gpt4 key购买 nike

这是我的第一个问题,所以请保持温和。

我正在尝试创建一个对象数组,其中该对象包含一个方法/函数来检索数据。

所以最终我不想使用 getFirstName(arrayName, arrayNumber),而是使用类似的东西

aliens[x].getFirstName;

persons.first.getFirstName;

如果在 Javascript 中不可行,或者以这种方式可行,请提出下一个最佳方案。

var persons = [

{
firstname : "John",
lastname : "Doe",
age : 50,
eyecolor : "blue",
},

{
firstname : "Jane",
lastname : "Siyabonga",
age : 39,
eyecolor : "brown",
},
]

var aliens = [

{
firstname : "Bob",
lastname : "the Alien",
age : 350,
eyecolor : "yellow",
},

{
firstname : "xblanque",
lastname : "the Predator",
age : 19,
eyecolor : "red",
},

]

function getFirstName(arrayName, arrayNumber)
{
var x = arrayName[arrayNumber].firstname;
return x;
}

Array.prototype.getLastName=function()
{
var x = this.lastname;
return x;
}

最佳答案

ECMAscript 支持gettersetter 方法。在任何 ES5 兼容的实现中,我们可以像这样使用它

var obj = {
foo: 42,
bar: 32,
get getFoo() {
return this.foo;
},
get sum() {
return this.foo + this.bar;
}
};

现在我们可以访问它了

obj.getFoo;  // 42
obj.sum; // 74

另一种创建它们的方法是 ES5Object.defineProperty。例如:

Object.defineProperty(obj, 'getBar', {
get: function() {
return this.bar;
}
});

关于javascript - 如何为数组/对象创建方法/函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16400102/

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