2012-02-29 44 views
0

我有一個像下面這樣的函數。當我創建功能的這樣一個新的對象:如何從js函數返回多個對象

var newArray = new ArrayCollection(); 

newArray我要訪問的功能屬性和階級是這樣的:

var first= newArray[0] 

相反的:

var first = newArray.Collections[0] 

和:

newArray.add("a"); 

如何修改功能來做到這一點?

ArrayCollection = function() 
{ 
    this.Collections = new Array(); 

    this.add = function (value) 
    { 
    .... 
    }; 
    this.remove = function (value) 
    { 
     .... 
    }; 
    this.insert = function (indx, value) 
    { 
     .... 
    }; 
    this.clear = function() 
    { ... 

    } 

} 
+0

抱歉,無法理解你的問題。標題回答:只返回一個列表''return [firstObject,secondObject];''。回覆帖子的其餘部分(它與標題看起來很無關):讓你的集合類使用''Array''作爲原型,或者按照Emissary的建議改變Array的原型。 (順便說一下,請考慮接受一些人提供給你的其他問題的答案。) – Tony 2012-02-29 09:46:01

回答

2

可以實現這樣的

ArrayCollection = function() { 
    this.Collections = new Array(); 
    this.length = 0; 

    this.add = function (value) { 
     this[this.length] = value; 
     this.length++; 
    }; 

    this.remove = function (value) { 
     // remove from array 
     this.length--; 
    }; 

    this.insert = function (indx, value) { 
     // insert to array 
     this.length++; 
    }; 

    this.clear = function() { 
     // clear array 
     this.length = 0; 
    }; 
}; 

var newArray = new ArrayCollection(); 
newArray.add('ll'); 
newArray.add('bb'); 
newArray.add('cc'); 

alert(newArray[0]) 
alert(newArray[1]) 
alert(newArray[2]) 
+0

謝謝你的工作 – 2012-02-29 10:21:09