моя цель - создать функцию, которая может дать строку в качестве аргумента, и иметь возможность сделать массив, в который я мог бы добавить элементы. Вы можете увидеть мою попытку здесь, но она не работает. aka, если я хочу создать имя списка GroceryList, он возвращает GroceryList, но когда я хочу добавить элемент к нему, он говорит, что GroceryList не определен.преобразование строки в имя массива в JavaScript
function removeInstance(list, item){
for(var i = 0; i < list.length; i++){
if(item === list[i]){
list.splice(i, 1);
console.log(list);
break;
}
}
}
function makeList(name){
name = [];
console.log(name);
return name;
}
function removeAllItems(list, item){
for(var i = 0; i < list.length; i++){
if(item === list[i]){
list.splice(i, 1);
i--;
}
}
console.log(list);
}
function addItem(list, item){
list.push(item);
console.log(list);
}
любая помощь была бы потрясающей. Благодаря!
потому что 'name = []' не использует имя переменной, в которую вы проходите ... Вы хотите создать глобальную переменную, содержащую массив? – epascarello
функция makeList не делает, что вы думаете, что делает. Он создает глобальную переменную по имени «name» массива типов. Он переименовывает объект имени и возвращает его. Одно утверждение дало бы вам тот же результат. Вы можете приблизиться к своей цели, используя заявление eval, но я собираюсь опасаться, что лучшее объяснение, почему вы это сделаете, в порядке. –
Это не глобальная @SeanPhillips – epascarello