Archiv verlassen und diese Seite im Standarddesign anzeigen : Find in Array
Guten Abend
test_array =
[
["blue",50],
["red",150],
["green",250],
["yellow",350]
];
Ist meine Array in der Versuche ich nun red zu finden und denn 2 Teil zu ersetzen. Leider Reagiert mir find "red" nicht darauf nur wenn ich nach ["red",150] suche sagt er mir 1. Doch da sich die Zahl ändert muss ich nach denn "red" suchen.
oder würde jemand ein anderen weg einfallen das ich es finden kann und die Zahl ersetzen?
Danke
Nokman
test_array = [["blue",50],["red",150],["green",250],["yellow",350]];
a="red";
b=250;
player groupChat str test_array;
{if (_x select 0==a) then {_x set [1,b]}} forEach test_array;
player groupChat str test_array;
Moerderhoschi
12.06.2014, 21:30
Hier eine Variante die nicht das gesamte Array durchgeht sondern aufhoert sobald der Wert geaendert wurde.
test_array =
[
["blue",50],
["red",150],
["green",250],
["yellow",350]
];
_search = "red";
_value = 250;
_iEnd = ((count test_array) - 1);
player globalChat "vorher: " + str test_array;
for "_i" from 0 to _iEnd do // nur so oft wiederholen bis Suchergebnis gefunden
{
if ( ((test_array select _i) select 0) == _search) then
{
(test_array select _i) set [1,_value];
_i = _iEnd // _i auf maxWert um den Loop zu beenden
};
};
player globalChat "nachher: " + str test_array;
gruß
hoschi
Vielen dank.
Aber Verstehe ich denn find befehl dann falsch das er es so nicht findet weil es ein String in einer Array ist? und deswegen es nicht auflösen kann?
Komischerweise kann er ja Strings in Arrays finden wenn die nicht Verschachtelt sind.
Wie du ja festgestellt hast, geht find nicht bei mehrdimensionalen Arrays.
Jup es war nur eben die Frage warum so ein Komando aber es geht nicht so :D
is Arma. Danke für die Hilfestellung
Hier eine Variante die nicht das gesamte Array durchgeht sondern aufhoert sobald der Wert geaendert wurde.
...
Das geht auch mit forEach so!
test_array = [["blue",50],["red",150],["green",250],["red",350]];
a="red";
b=250;
player groupChat str test_array;
{if(_x select 0==a)exitWith{_x set [1,b]}}forEach test_array;
player groupChat str test_array;
vBulletin® v3.7.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.