Home > Mobile >  Issues creating a global variable list in javascript (Tampermonkey)
Issues creating a global variable list in javascript (Tampermonkey)

Time:01-28

I'd like to create a global variable list in javascript that will add new elements to the list. I need it global because I'm using Tampermonkey, and I want to keep old elements inside the list and able to add new elements to it.

How can I do this correctly?

I have tried something like this but it's not working :c

var check_empty = GM_getValue("arr_names");
if(Array.isArray(check_empty) && check_empty.length > 0){ // list of usernames exists and is not empty
    var user = "RandomUsername";
    GM_setValue("arr_names", check_empty.push(user));
    var arr = GM_getValue("arr_names");
    for(var i=0; i<arr.length; i  ){
        window.alert("Length: "   arr.length   " Elements inside: "   arr[i]);
    }
}
else{ // create the list
    GM_setValue("arr_names",["Initialized"]);
}

So let's say I run this code 3 times. Then the list needs to look like this:

["Initialized", "RandomUsername", "RandomUsername"]

If 4 times excuted, then like this:

["Initialized", "RandomUsername", "RandomUsername", "RandomUsername"]

CodePudding user response:

GM_setValue("arr_names", check_empty.push(user));

As mentioned in the comments, check_empty.push(user) returns the length of the updated array, but you should pass the array here.

You can push the element in the previous line and use the mutated array:

check_empty.push(user);
GM_setValue('arr_names', check_empty);
  •  Tags:  
  • Related