Hi I want to get alert "lkb_1" and "lkb_2" , but this code gives me "product_1_name" and "product_1_name" ;
eval and window functions I can get rid of them but I think they are not recommended to do that.. so is there any other solution rather than eval and window functions?
<script>
product_1_name = "lkb_1";
product_1_pcs = 3;
product_2_name = "lkb_2";
product_2_pcs = 5;
profil_ismi = "";
const profil_listesi = ["product_1", "product_2"];
i = 0;
while (i < profil_listesi.length) {
profil_ismi = profil_listesi[i] + "_name";
alert(profil_ismi);
i = i + 1;
}
</script>
>Solution :
To avoid using eval you can do that.
The thing would work well if you wrap the product names in an array. then you can dynamically create the variable name and thus specifically retrieve the value in the array.
arr = []
arr['product_1_name'] = "lkb_1" ;
product_1_pcs = 3 ;
arr['product_2_name'] = "lkb_2" ;
product_2_pcs = 5 ;
profil_ismi = "" ;
const profil_listesi = ["product_1","product_2"];
let i=0;
while (i<profil_listesi.length)
{
let _name = profil_listesi[i] + '_name'
profil_ismi = arr[_name];
alert (profil_ismi) ;
i=i+1;
}