Me gustaría crear una lista de variables globales en javascript que agregará nuevos elementos a la lista. Lo necesito global porque estoy usando Tampermonkey, y quiero mantener los elementos antiguos dentro de la lista y poder agregarle nuevos elementos.
¿Cómo puedo hacer esto correctamente?
He intentado algo como esto pero no funciona :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"]); }Así que digamos que ejecuto este código 3 veces. Entonces la lista debe verse así:
["Initialized", "RandomUsername", "RandomUsername"]Si se ejecuta 4 veces, entonces así:
["Initialized", "RandomUsername", "RandomUsername", "RandomUsername"]GM_setValue("arr_names", check_empty.push(user)); Como se menciona en los comentarios, check_empty.push(user) devuelve la longitud de la matriz actualizada, pero debe pasar la matriz aquí.
Puede empujar el elemento en la línea anterior y usar la matriz mutada:
check_empty.push(user); GM_setValue('arr_names', check_empty);