Как преобразовать строку в два свойства внутри массива? - PullRequest
0 голосов
/ 28 октября 2018

Здесь я делаю, чтобы преобразовать массив в необходимый формат.выходные данные parsedValues ​​- это ["abcdefgh (4034343), Михаил (900002)"], и Iam пытается преобразовать его как ["abcdefgh (4034343)", "Михаил (900002)"]

Как я могу преобразовать ["abcdefgh (4034343), Михаил (900002)"] до ["abcdefgh (4034343)", "Михаил (900002)"]?

private transformUser(userIdsString: any): string[] {
  const parsedUserIdsArray = userIdsString;
  console.log(parsedUserIdsArray);
  const parsedValues = parsedUserIdsArray[4].userids;
  console.log(parsedValues);
  const splitValues = parsedValues.split(',');
  console.log(splitValues);
  const trimmedValues = splitValues.map(str => str.trim());
  console.log(trimmedValues);
  return trimmedValues;
}

The console.log(trimmedValues) is 

(2) ["["abcdefgh(4034343)", "Mikhail(900002)"]"]
0: "["abcdefgh(4034343)"
1: "Mikhail(900002)"]"
length: 2
__proto__: Array(0)

Ожидается: (2) ["abcdefgh (4034343)"," Mikhail (900002) "] 0:" abcdefgh (4034343) "1:" Mikhail (900002) "длина: 2 proto : Array (0)

Ответы [ 3 ]

0 голосов
/ 28 октября 2018

Вы можете использовать split в строке, чтобы получить массив из разделителя (, в этом случае).Если у вас есть только одна объединенная строка, вы можете сделать ...

["abcdefgh(4034343), Mikhail(900002), Someone(12934)"][0].split(', ')

Чтобы получить новый массив.

Если исходный массив имеет несколько строк, вам нужно объединить всемассивы ...

["abcdefgh(4034343), Mikhail(900002)", "Someone(12934)"]
.map(item => item.split(', '))
.reduce( (acc, item) => [...acc, ...item], [])
0 голосов
/ 28 октября 2018

const trimmedValues = parsedValues[0].split(', ');
0 голосов
/ 28 октября 2018

Попробуйте это

var input = ["abcdefgh(4034343), Mikhail(900002)"]

input.reduce(function(o,i){
    var values = i.split(',');
    if(values.length > 0){
        o = o.concat(values);
    }return o;},[]);

Output - ["abcdefgh(4034343)", " Mikhail(900002)"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...