remove element from global array

Admin Support HEMU-CL's icon

Sorry for the pretty noob question, i am trying to build in JS a kind of "intelligent urn". I am stuck in a problem about arrays and global variables.

If i create an array inside a function it seems to work fine:

function removeElementInArray() {
    var localArray = [2,3,4,6];
    var splicing = localArray.splice(0, 1);
    post (localArray[0]);
    post();
    }

this gives 3 as desired result.

I want of course to make the preceding function generic and If i create a global array and fill it with arguments of a max message:

var internalUrn = new Array();
function fillUrn(){
    internalUrn = arguments;
    }

and I try to apply the same operation:

function removeElementInArray2() {
    var splicing = globaUrn.splice(0, 1);
    post (globalUrn[0]);
    post();
    }

I get an error message:

Javascript TypeError: globalUrn.splice is not a function, line xxx

Seems it must be something simple but i cannot get it. Thanks for help....

Nikolas K's icon

Hi Ratox,

How are you declaring the global object? My guess is that because you make it global, its not an Array but a js object.
If you could share a bit more code it would be easier to figure it out.

You could add an array as a property to the object and then access it like

// Declare the global object at one of the JS files
var globalUrn = new Global("global_urn");
      globalUrn.urnArray= [2,3,4,6];

// Then access it like so. Calling the "new Global("global_urn")" will return the existing global object.
// Be careful to first add the array property (the top code) and then call it. 
var globalUrn = new Global("global_urn");
globalUrn.urnArray,slice(0, 1)

-N