преобразовать массив строк в массив строк - PullRequest
0 голосов
/ 18 июня 2020

В javascript Сейчас у меня есть: "[11,8,7,6,5,4]"

Я бы хотел преобразовать это в [«11», «8», «7», «6», «5», «4» "]. Я пробовал использовать .split () в строке, но он не возвращает желаемый результат, как и любые другие попытки. Спасибо

Ответы [ 6 ]

5 голосов
/ 18 июня 2020

Самый быстрый способ: (Обновлено)

JSON.parse("[11,8,7,6,5,4]").map(String)
2 голосов
/ 18 июня 2020

Используя метод строки match и это регулярное выражение /\d+/g, вы получите ожидаемый результат.

var string = "[11,8,7,6,5,4]";

var result = string.match(/\d+/g);

console.log(result);
0 голосов
/ 18 июня 2020
var obj = JSON.parse("[11,8,7,6,5,4]");
var out=obj.map(String);
console.log(out);
  1. Анализируйте данные с помощью JSON .parse (), и данные становятся объектом JavaScript. (https://www.w3schools.com/js/js_json_parse.asp)

  2. .map функция похожа на функцию apply python или R, которая действует на каждый элемент входящего массива с использованием определенной функции в скобках; т.е. метод map () создает новый массив с результатами вызова функции для каждого элемента массива. (https://www.w3schools.com/jsref/jsref_map.asp)

0 голосов
/ 18 июня 2020

Вы можете использовать для l oop, чтобы преобразовать их в строки, если это все, что вам нужно:

for(num of numArray){
num = num.toString();
}
0 голосов
/ 18 июня 2020
  • Анализ строки преобразует ее в массив.
  • Позже вы можете сопоставить каждый элемент массива как String, тогда у вас будет Array Of Strings

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 функциональный синтаксис.

0 голосов
/ 18 июня 2020

Кажется, вы ищете это:

console.log(eval("[11,8,7,6,5,4]").map(String))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...