添加到现有的阵列我有一个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