<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Array.getDataByArray()</title>
<script type="text/javascript">
<!--
/*
hallo
habe ein problem
gleich zur sache:position = new Array(4,7,2,3);
daten[position] = "irgend ein text";das funktioniert natürlich nicht, aber ich möchte, dass es so funktioniert wie:
daten[4][7][2][3] = "irgend ein text";
ist sowas möglich?
also ich habe einen array "position", der ganze zahlen enthält die ich in der
reihenfolge, wie sie dort abgespeichert sind für die zuweisung zu einem einen
mehrdimensionalen array (anzahl der dimensionen steht nicht fest!!) verwenden möchte.danke für eure hilfe
gruss
andreas
*/
// ...
// ...
/*
hallo
danke soweit
also eine zeit lang könnte das funktionieren...
ich kanns ja mal bis 10 oder so machen
nur sollte es weiter wachsen gibts ein problem...
ich würde auch einen "100-Zeilen-ForSchleifen-Code" schreiben, solange es nur geht ;)
aber so langsam vermute ich es geht gar nicht :(
gruss
andreas
*/
// gruss Andreas,
//
// hier der diskutierte ansatz ueber eine schleife -
// wofuer auch immer Du so etwas brauchst:
//
var dataStructure = [
null,
null,
null,
null,
[
null,
null,
null,
[
null,
["ein anderer text"],
null
],
null,
null,
null,
[
null,
null,
[
null,
null,
null,
["irgendein text"],
null
],
null,
null,
null
],
null
],
null,
null
];
Array.prototype.getDataByArray = function(arrayObject) {
var data;
if (arrayObject.constructor == Array) {
data = this;
for (var i=0;i<arrayObject.length;i++) {
data = data[arrayObject[i]];
}
}
return data;
}
alert(dataStructure.getDataByArray([4,7,2,3]));
alert(dataStructure.getDataByArray([4,3,1]));
alert(dataStructure.getDataByArray({wiebitte:"ja aber"}));
// getestet unter windows mit nn4.x, mozilla 1.1, msie 6.0, opera 6.0 beta sowie opera 7.0 beta01;
//
// viel spass und by(t)e by(t)e - peterS. - pseliger@gmx.net
//
//-->
</script>
</head>
<body>
<p>
<br />
</p>
</body>
</html>
--
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)