[英]How to make array at javascript class?
最近我正在学习制作javascript类,我看到其他人像这样制作类
var item = {
'a':{'b':1000,'c':2000,'d':3000} , //how to make a variable become an array?
myfunction : function(){
console.log(item.a.b); //and output item.a[1]?
}
};
item.myfunction();
但是,它可能使变量a
数组? 并像这样输出一个变量item.a[1]
?我试过了
var a=new Array('1000','2000','3000')
但是错误,我需要正确的语法。
var item = {
'a': [1000, 2000, 3000],
myfunction: function () {
console.log(this.a[1]);
}
};
但这不是一个类,也没有“变量 a”。
'a':[1000,2000,3000]
console.log(item.a[0]); // 1000
console.log(item.a[2]); // 3000
阅读更多: http : //www.elated.com/articles/javascript-array-basics/
您有两种方法,具体取决于您是想将“a”转换为数组还是只想将“a”转换为数组。
第一种方法是通过函数运行它
function toArray(object) {
var array = new array();
for (key in object) {
if (object.hasOwnProperty(key)) {
array.push(object); // This is alternative for indexed array
array[key] = object; // This is for an associative array
}
}
return array;
}
也许让您的“类”调用此函数并将返回值分配给“a”
var item = {
'a':{'b':1000,'c':2000,'d':3000} , //how to make a variable become an array?
myfunction : function(){
this.a = toArray(this.a);
console.log(this.a[1]) // If you do indexed
console.log(this.a.b); // If you do associative
}
};
item.myfunction();
第二种方法由@ahren 解释,它只是通过 [...] 值而不是 {...} 将“a”定义为数组
您还可以查看我自己提出的关于 JavaScript 中的 OOP 的问题,从 TJ 那里得到了关于私有方法的很好的答复。
不知道这是否是您想要的,但应该有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.