В javascript Сейчас у меня есть: "[11,8,7,6,5,4]"
"[11,8,7,6,5,4]"
Я бы хотел преобразовать это в [«11», «8», «7», «6», «5», «4» "]. Я пробовал использовать .split () в строке, но он не возвращает желаемый результат, как и любые другие попытки. Спасибо
Самый быстрый способ: (Обновлено)
JSON.parse("[11,8,7,6,5,4]").map(String)
Используя метод строки match и это регулярное выражение /\d+/g, вы получите ожидаемый результат.
match
/\d+/g
var string = "[11,8,7,6,5,4]"; var result = string.match(/\d+/g); console.log(result);
var obj = JSON.parse("[11,8,7,6,5,4]"); var out=obj.map(String); console.log(out);
Анализируйте данные с помощью JSON .parse (), и данные становятся объектом JavaScript. (https://www.w3schools.com/js/js_json_parse.asp)
.map функция похожа на функцию apply python или R, которая действует на каждый элемент входящего массива с использованием определенной функции в скобках; т.е. метод map () создает новый массив с результатами вызова функции для каждого элемента массива. (https://www.w3schools.com/jsref/jsref_map.asp)
Вы можете использовать для l oop, чтобы преобразовать их в строки, если это все, что вам нужно:
for(num of numArray){ num = num.toString(); }
let array = JSON.parse("[11,8,7,6,5,4]"); let arrayOfStrings = array.map(item => `${item}`); console.log('array', array); console.log('arrayOfStrings', arrayOfStrings);
PS: Я использовал стрелочные функции, вы можете переключиться на базовый c функциональный синтаксис.
Кажется, вы ищете это:
console.log(eval("[11,8,7,6,5,4]").map(String))