pass an array


    Oct 18 2006 | 2:29 pm
    hi all, i am trying to pass an array without changing the original, how? i came across some knowledge that suggested doing it inside a function but that doesn't help. i workaround is to assign the same information to the two arrays (at creation) but that is no good.
    var Sort=["aoo","coo","boo"]; var outOrder=new Array();
    function bang() { post("Sort: "+Sort+"n"); sorty(Sort); post("Sort: "+Sort+"n"); } function sorty(vvv){ outOrder=vvv outOrder.sort() post("outOrder: "+outOrder+"n"); }

    • Oct 18 2006 | 2:52 pm
      converting to string and back works, but mybe there is other way?
      cvSort=["aoo","coo","boo"]; function bang() {
      post("cvSort: "+cvSort+"n"); outOrder=cvSort.join(); outOrder=outOrder.split(","); outOrder.sort() post("outOrder: "+outOrder+"n"); post("cvSort: "+cvSort+"n"); //outlet(0,"myvalue","is",myval); }
      2006/10/18, yair reshef : > > > hi all, i am trying to pass an array without changing the original, how? > i came across some knowledge that suggested doing it inside a function but > that doesn't help. > i workaround is to assign the same information to the two arrays (at > creation) but that is no good. > > > var Sort=["aoo","coo","boo"]; > var outOrder=new Array(); > > function bang() > { > post("Sort: "+Sort+" > "); > sorty(Sort); > post("Sort: "+Sort+" > "); > } > function sorty(vvv){ > outOrder=vvv > outOrder.sort() > post("outOrder: "+outOrder+" > "); > } >
    • Oct 18 2006 | 3:06 pm
      On 18 oct. 06, at 16:29, yair reshef wrote:
      > hi all, i am trying to pass an array without changing the original, > how? > i came across some knowledge that suggested doing it inside a > function but that doesn't help.
      You need to copy your array. As far as I know, there's no JavaScript built-in method to do that, so it have to be manual :-(
      ej
    • Oct 18 2006 | 5:24 pm
      Well, the first hit in Google for "javascript array copy" is: http://www.sematopia.com/?p=12
      So calling:
      newArray = oldArray.slice(0);
      should do the trick. (It takes a "slice" of the array, beginning at the first element all the way to the end.)
      Steve
      On 10/18/06, Emmanuel Jourdan wrote: > On 18 oct. 06, at 16:29, yair reshef wrote: > > > hi all, i am trying to pass an array without changing the original, > > how? > > i came across some knowledge that suggested doing it inside a > > function but that doesn't help. > > You need to copy your array. As far as I know, there's no JavaScript > built-in method to do that, so it have to be manual :-( > > ej > > >
    • Oct 18 2006 | 5:33 pm
      thank you, ive red the slice ref 10 times and didnt see this. zen time: "not the question but the search string that counts"
      2006/10/18, Stephen Sinclair : > > Well, the first hit in Google for "javascript array copy" is: > http://www.sematopia.com/?p=12 > > So calling: > > newArray = oldArray.slice(0); > > should do the trick. > (It takes a "slice" of the array, beginning at the first element all > the way to the end.) > > Steve > > > On 10/18/06, Emmanuel Jourdan wrote: > > On 18 oct. 06, at 16:29, yair reshef wrote: > > > > > hi all, i am trying to pass an array without changing the original, > > > how? > > > i came across some knowledge that suggested doing it inside a > > > function but that doesn't help. > > > > You need to copy your array. As far as I know, there's no JavaScript > > built-in method to do that, so it have to be manual :-( > > > > ej > > > > > > >
    • Oct 18 2006 | 5:43 pm
      Ha, no worries. If JS simply had an array.copy() function it would have been obvious. I find it has many oddities, I'm always having to google for things when programming in javascript. By now, I'm convinced that it's actually quite a powerful language, but certainly not an obvious one.
      Steve
      On 10/18/06, yair reshef wrote: > > thank you, ive red the slice ref 10 times and didnt see this. > zen time: > "not the question but the search string that counts" > > 2006/10/18, Stephen Sinclair : > > Well, the first hit in Google for "javascript array copy" is: > > http://www.sematopia.com/?p=12 > > > > So calling: > > > > newArray = oldArray.slice(0); > > > > should do the trick. > > (It takes a "slice" of the array, beginning at the first element all > > the way to the end.) > > > > Steve > > > > > > On 10/18/06, Emmanuel Jourdan wrote: > > > On 18 oct. 06, at 16:29, yair reshef wrote: > > > > > > > hi all, i am trying to pass an array without changing the original, > > > > how? > > > > i came across some knowledge that suggested doing it inside a > > > > function but that doesn't help. > > > > > > You need to copy your array. As far as I know, there's no JavaScript > > > built-in method to do that, so it have to be manual :-( > > > > > > ej > > > > > > > > > > > > > > > > > > > > >