添加到現有的陣列我有一個2D陣列爲:如何的屬性動態地Flex中
Asia India 100 200
Asia China 200 300
我需要添加名爲「狀態」與值假此以上陣列(內部)作爲屬性附加列以上數組,其中我的輸出是:
Asia India 100 200 state:false
Asia China 200 300 state:false
,這樣我可以給其他列的屬性名稱「狀態」,以項目渲染器。 如何獲得相同的結果?是否有可能?
添加到現有的陣列我有一個2D陣列爲:如何的屬性動態地Flex中
Asia India 100 200
Asia China 200 300
我需要添加名爲「狀態」與值假此以上陣列(內部)作爲屬性附加列以上數組,其中我的輸出是:
Asia India 100 200 state:false
Asia China 200 300 state:false
,這樣我可以給其他列的屬性名稱「狀態」,以項目渲染器。 如何獲得相同的結果?是否有可能?
對於線:使用Array.map()應太
var originalArray:Array = //your original array
var newArray:Array = new Array();
for each (var o:Object in originalArray){
o.state = "false";
newArray.push(o);
}
originalArray = newArray;
trace(originalArray[0]) // Asia India 100 200
trace(originalArray.state) //false
。
對於invidual對象:
protected function addStates():void
{
var originalArray:Array = //your original array
var newArray:Array = new Array();
for each(var o:Object in originalArray){
var tempArray:Array = new Array();
for each(var element:* in o){
var newObject:Object = new Object();
newObject.element = element;
newObject.state = "false";
tempArray.push(newObject);
}
newArray.push(tempArray);
}
originalArray = newArray;
trace(originalArray[0][1].element); // India
trace(originalArray[0][1].state); // false
}
如果有人有更好/更快的方式我很感興趣地聽到它。
我很難與這個答案。首先,你設置了'originalArray = new Array();'後面跟着原始數組的一些痕跡。爲什麼這些痕跡會返回任何內容其次,原始問題表明他有一個二維數組;但我不清楚這個代碼是否會處理多個維度。 – JeffryHouser
糾正了拼寫錯誤,遺憾的是,使用二維數組進行測試,它似乎工作。 –
@Pete TNT是否可以將上述數組修改爲正常的2D數組,以便我可以直接從原始數組中獲得'state'屬性,例如「originalArray [row] [column] .state 「 – Flexiflex
我有點困惑。根據你提供的信息,你有一串字符串。那是對的嗎?或者你有一組對象?將字符串與對象屬性混合是沒有意義的 - 儘管我相信這在技術上是可行的。 – JeffryHouser
實際上,在我之前發佈的關於AdvancedDataGrid的帖子中,使用複選框控件作爲GroupItemRenderer,你已經提供了對我的問題的回答,以便使用data屬性並傳遞該屬性來設置選定的未選中狀態.Am試圖做到這一點,我需要在我的原始數組的最後一列填充名爲'state'的屬性,以便我可以將選定的特定點擊行的屬性設置爲true,取消選擇respy則爲false。 – Flexiflex