Dynamiczne tworzenie zmniennej java script

0

Mam takie pytanie czy da się stworzyć w języku js albo jquery coś na zasadzie takiego czegoś, że jest sobie tablica. np o nazwie tablica_id i to id się zmienia i teraz ta tablica jest globalna ale jest funkcja, która dostaje paramnetr id i teraz próbuej modyfikować tą tablicę, ale tera nie wiem jak w js dopisać to id to nazwy tablica_ , żeby z tego zrobić nową zmnienną.

Chodzi o utworzenie nazwy tablicy w js, która by miała nazwę tablica_ i id gdzie id było by przekazywane jako parametr funkcji.

5

Stworzyć to pikuś. Zrozumieć, co ty tam napisałeś, to jest szuka :p

id = "a";
indeks = 7;
wartosc = 12;


tablica = "tablica_" + id;


polecenie = tablica + "= [];";
eval (polecenie);

polecenie = tablica + "[" + indeks +"] = " + wartosc;
eval (polecenie);


alert(tablica_a[7]);

Ale prawdopodobnie nie potrzebujesz takiego cudowania.
Zrób sobie tablicę dwuwymiarową i tyle.

3

Chodzi o utworzenie nazwy tablicy w js, która by miała nazwę tablica_ i id gdzie id było by przekazywane jako parametr funkcji.

Obiekty w JS są w pewnym sensie słownikami, więc możesz stworzyć obiekt, który będzie trzymał w sobie kilka tablic. I do każdej tablicy możesz się odwołać po kluczu

const arrays = {
   tablica_1: [10, 20, 30],
   tablica_2: [40, 50, 60],
};

function add(arrayId, element) {
   if (Object.hasOwnProperty.call(arrays, 'tablica_' + arrayId)) {
      arrays['tablica_' + arrayId].push(element);
   } else throw new Error("nie ma tablicy o id " + arrayId);
}

add(1, 123);
console.log(arrays);

Albo zrobić tablicę tablic:

const arrays = [
   [10, 20, 30],
   [40, 50, 60],
];

function add(arrayIndex, element) {
   if (arrayIndex < arrays.length) {
      arrays[arrayIndex].push(element);
   } else throw new Error("nie ma tablicy o indeksie " + arrayIndex);
}

add(0, 123);
console.log(arrays);

Pytanie tylko, czy naprawdę ci to potrzebne. Mam wrażenie, że próbujesz rozwiązać inny problem (problem XY: https://en.wikipedia.org/wiki/XY_problem), a ten pomysł jest zaledwie jednym z pomysłów, jak chcesz go rozwiązać, być może właściwym, a być może nie do końca. Więc co chcesz osiągnąć?

1 użytkowników online, w tym zalogowanych: 0, gości: 1