08. marts 2013 - 17:55 Der er 6 kommentarer og
1 løsning

JavaScript + Splice for multi-dim. Arrays

Hej,

Jeg har et multi-dimensions JavaScript Array :

var inidata = Array();
inidata[0] = ("","" ---->);    19 vars
...
inidata[n] = ("","" ---->);    19 vars

Jeg har 2 spørgsmål:

1: Jeg ønsker at fjerne inidata[8] (ikke bare inidata[8][1] men hele array-elementet) og samtidig skal funktionen rydde op, således atjeg ikke får huller i arrayet. Altså at Array(0] til array[7] forbliver urørt og array[9] index og fremefter reduceres med 1.

2: Jeg ønsker at kunne indsætte et ny Array i inidata efter sidste Array. Eks. Har inidata[10] som sidste og ønsker at oprette inidata[11] (med mine 19 variable).

Har prøvet inidata.splice(inidata.length,0," " )* variabelt antal " ", men når jeg skal accesse inidata[11][18] fortæller den mig at denne "celle" ikke eksisterer.

Har prøvet følgende:

inidata.splice(inidata.length,0,"");
for (n=0; n> 19; ++n)
(
  inidata[inidata.length][n] = '';
}

osv..

men det funker heller ikke....

Jeg kan ikke bruge en SQL-baseret løsning (selv om det kunne synes som værende det nemmeste), fordi dele af denne HTML-side genereres fra et Delphi program og skal (under kontrol af samme Delphi) vises i en Twebbrowser. Og så vidt jeg har kendskab til Delphi kan Delphi ikke kommunikere med en PHP / SQL løsning i en Twebbrowser i et lokalt kørende program (exe løsning) . Korriger mig (jeg vil blive glad og lykkelig  !) hvis jeg tager fejl.

(Delphi for PHP kører som en drøm overfor en extern Apache server på nettet, men at installere en Apache server som en lokal application og så bruge den i dette projekt er urealistisk ! )


KRISTIAN

PS: Fik en ide: Sletning af inidata[8] kan gøres ved at kopiere Inidata[9] til i..d..[8] , i..d..[10] -> i..d..[9] og så fremdeles. og POP'pe sidste inidata  (håber jeg (sic))
Avatar billede olebole Juniormester
08. marts 2013 - 18:26 #1
<ole>

Kristian, vi kan ikke blive ved med at mødes på denne måde!  :D

<script type="text/javascript">
function doMyArrayStuff(arr) {
    var tmp = arr.splice(1, 1); // arr.splice(8, 1) i dit ekesmpel
    arr.push(tmp);
    return arr;
}

var a = [
    [1,2,3,4],
    ["en","to","tre","fire"],
    ["one","two","three","four"],
    ["ein","zwei","drei","vier"]
];

a = doMyArrayStuff(a);

// Vi tester lige:
alert(JSON.stringify(a, null, "  "));
</script>

/mvh
</bole>
Avatar billede olebole Juniormester
08. marts 2013 - 18:28 #2
- og den samme, men lidt mere komprimerede funktion:

function doMyArrayStuff(arr) {
    arr.push(arr.splice(1, 1)); // arr.splice(8, 1) i dit ekesmpel
    return arr;
}
Avatar billede olebole Juniormester
08. marts 2013 - 18:30 #3
- og inspiration til helt nye 'sdavømoder' - som 'ekesmpel' - er naturligvis ganske gratis  *D
08. marts 2013 - 23:28 #4
Hej Igen (du ved at vi ikke kan .... osv (hehe - gnæk )) ..

Tak for hjælpen. Det her funker bare som god hvidvin til en god bækørred... (smask!) ...

Lukker igen.

(Ved point: "Brok" dig ved næste SPØRGSMÅL... !)

Kr
08. marts 2013 - 23:32 #5
Glemte noget:

Har du en titel på en god lærebog i JS ?

(titel, forfatter, forlag , Isbn osv... )

Kr
Avatar billede olebole Juniormester
09. marts 2013 - 00:43 #6
Uhhhhhh ... en bækørred med med en god Chablis - og måske en klat 'hollændersovs'! *Mums-Fillibabas*!

Det er godt nok mange år siden, jeg har soigneret en flue i et vandløb, så mit rullekast er nok lidt rustent, men grundkastet sidder der sikkert endnu  =)

Da jeg selv begyndte at skrive JS, havde jeg enorm glæde af o'Reilly's [url=http://shop.oreilly.com/product/9780596101992.do]The Rhino Book[/b], som var 90'ernes og til dels nullernes ubestridte JS-bibel.

Det er nærmere en reference end en egentlig 'kogebog'. Den er sidst revideret i 2006, så helt ny er den ikke - og så kommer den vist nu om stunder 'kun' som e-bog.

I min IE's favoritlinje har jeg en mappe, som hedder 'Refs'. I den ligger yderligere mapper med favoritter til afsnit i forskellige referencer.

En af disse mapper hedder 'JS1.5', og eksporteret har den følgende indhold:

<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
Do Not Edit! -->
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<p>
<DL>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference" ADD_DATE="1296695130" LAST_VISIT="1313973394" LAST_MODIFIED="1313973394" ICON_URI="https://developer.mozilla.org/favicon.ico" >JS1.5</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" ADD_DATE="1323729284" LAST_VISIT="1323729284" LAST_MODIFIED="1323729284" ICON_URI="https://developer.mozilla.org/favicon.ico" >Array</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date" ADD_DATE="1323729364" LAST_VISIT="1323729364" LAST_MODIFIED="1323729364" ICON_URI="https://developer.mozilla.org/favicon.ico" >Date</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" ADD_DATE="1323729330" LAST_VISIT="1323729330" LAST_MODIFIED="1323729330" ICON_URI="https://developer.mozilla.org/favicon.ico" >Function</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math" ADD_DATE="1329360309" LAST_VISIT="1329360309" LAST_MODIFIED="1329360310" ICON_URI="https://developer.mozilla.org/favicon.ico" >Math</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Number" ADD_DATE="1323729409" LAST_VISIT="1323729409" LAST_MODIFIED="1323729409" ICON_URI="https://developer.mozilla.org/favicon.ico" >Number</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" ADD_DATE="1323729349" LAST_VISIT="1323729349" LAST_MODIFIED="1323729349" ICON_URI="https://developer.mozilla.org/favicon.ico" >Object</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp" ADD_DATE="1323729386" LAST_VISIT="1323729386" LAST_MODIFIED="1323729386" ICON_URI="https://developer.mozilla.org/favicon.ico" >RegExp</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" ADD_DATE="1323729311" LAST_VISIT="1323729311" LAST_MODIFIED="1323729311" ICON_URI="https://developer.mozilla.org/favicon.ico" >String</A>
</DL>
<p>

Lad endelig ikke førerhunden se koden! Så bliver du hurtigt et venstre underben kortere  *D

Anyway, kopier koden over i et tomt dokument, som du smider på skrivebordet med navnet 'bookmark.htm'. Derefter åbner du IE og importerer dokumentet til dine favoritter. Når det er gjort, ligger de et eller andet sted i bunden af dine favoritter.

Opret en mappe i favoritlinjen. Kald den 'JS1.5' og smid de nye favoritter herover under 'Arranger Favoritter...'. Så kan du hurtigt finde info om alt i JavaScript 1.5  =)
Avatar billede olebole Juniormester
09. marts 2013 - 00:46 #7
Hehe ... jamen, jeg prøver da bare lige igen  =)

<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
Do Not Edit! -->
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<p>
<DL>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference" ADD_DATE="1296695130" LAST_VISIT="1313973394" LAST_MODIFIED="1313973394" ICON_URI="https://developer.mozilla.org/favicon.ico" >JS1.5</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array" ADD_DATE="1323729284" LAST_VISIT="1323729284" LAST_MODIFIED="1323729284" ICON_URI="https://developer.mozilla.org/favicon.ico" >Array</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date" ADD_DATE="1323729364" LAST_VISIT="1323729364" LAST_MODIFIED="1323729364" ICON_URI="https://developer.mozilla.org/favicon.ico" >Date</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function" ADD_DATE="1323729330" LAST_VISIT="1323729330" LAST_MODIFIED="1323729330" ICON_URI="https://developer.mozilla.org/favicon.ico" >Function</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math" ADD_DATE="1329360309" LAST_VISIT="1329360309" LAST_MODIFIED="1329360310" ICON_URI="https://developer.mozilla.org/favicon.ico" >Math</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Number" ADD_DATE="1323729409" LAST_VISIT="1323729409" LAST_MODIFIED="1323729409" ICON_URI="https://developer.mozilla.org/favicon.ico" >Number</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object" ADD_DATE="1323729349" LAST_VISIT="1323729349" LAST_MODIFIED="1323729349" ICON_URI="https://developer.mozilla.org/favicon.ico" >Object</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp" ADD_DATE="1323729386" LAST_VISIT="1323729386" LAST_MODIFIED="1323729386" ICON_URI="https://developer.mozilla.org/favicon.ico" >RegExp</A>
    <DT><A HREF="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String" ADD_DATE="1323729311" LAST_VISIT="1323729311" LAST_MODIFIED="1323729311" ICON_URI="https://developer.mozilla.org/favicon.ico" >String</A>
</DL>
<p>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows