peterS.: Arrayzuweisung aus Array

Beitrag lesen

<!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:)