Альтернативный eval () для выполнения строки - PullRequest
0 голосов
/ 29 мая 2019

Мой массив A=['Apple','Peach','Orange'] в Javascript, кто-то передает мне строку типа «A [1]», как преобразовать строку «A [1]» в исполняемый элемент, чтобы я мог получить «Peach» в качестве результат.

eval(A[1]) раньше работал, но здесь не разрешен.

Ответы [ 2 ]

1 голос
/ 29 мая 2019

Используя регулярные выражения, вы можете проанализировать переменную и индекс, а затем извлечь их из объекта окна.

A=['Apple','Peach','Orange'];

let string = "A[1]";
let variable = string.match(/[^[]*/)[0];
let index = string.match(/\[(.*)\]/)[1];
console.log(window[variable][index]);
0 голосов
/ 29 мая 2019

Вы можете разделить по апострофу, а затем отфильтровать нечетные члены массива:

var arrayString = "A=['Apple','Peach','Orange']"
var parsed = arrayString.split("'").filter(function(a, b){return b % 2});
console.log(parsed)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...