Я хочу сравнить одно значение со всеми значениями в другом массиве и выявить совпадение. Они разные по длине.
Представьте себе один столбец несортированных идентификаторов и один столбец идентификаторов и имен. Я придумал это, но это не работает.
private function mergeCollections():void
{
for (var k:int = 0;k <= idArray.length;k++)
{
for(var i:int = 0; i <= namesArray.length;i++){
if(idArray[k].id == namesArray[i].id){
idArray[k].name = namesArray[i].name;
}
}
}
}
Это то, что я хочу решить:
Array Coll idArray = [{3}{" "},
{1}{" "},
{2}{" "}]
Array Coll namesArray[{1}{Name1},
{2}{Name2},
{3}{Name3},
{4}{Name4}]
Result =
idArray = [{3}{Name3},
{1}{Name1},
{2}{Name2}]
Извините, если синтаксис неправильный, мои коллекции массивов поступают из базы данных.
Реальная вещь, которую я здесь делаю, это получение значений из таблицы, полной идентификаторов, и таблицы, полной этих идентификаторов, плюс имя (они разделены, потому что, чувак нормализации!) И я хочу поместить их в сетку данных это будет только отображать имя.
Я говорю, что возможно не отсортировано, потому что второй столбец может достигнуть точки нескольких удалений и вставок и может оказаться несортированным. Но для этого случая у меня есть один несортированный столбец против одного отсортированного столбца.
Мой текущий вывод - только одно напечатанное имя, а остальные полностью отклонены.
ПРИМЕЧАНИЕ. Также учтите, что nameArray всегда имеет значения MORE или EQUAL для таблицы идентификаторов. и в таблице Id всегда будут значения, соответствующие таблице имен.