Преобразовать строку в массив в Javascript Angular 6 - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть динамически сгенерированный массив, который отображается из console.log(temp):

[{user_id: "test@random.com", status: "Idle"}], 
[{user_id: "whatever@random.com", status: "Busy"}]

Мой код:

this.scheduleService.getShiftSchedule().subscribe((temp)=>{
  this.api = temp;
  console.log(temp);
})

Как мне изменить формат моего массива, чтобы он стал похожимМассив ниже?

[[{id: 1,content: 'test@random.com'},{id: 2,content: 'Idle'}],
[{id: 1,content: 'whatever@random.com'},{id: 2,content: 'Busy'}]]

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019

var arr = [1,2,3,4,5,6,7,8,9]

var newArr = [];
while(arr.length) newArr.push(arr.splice(0,3));

console.log(newArr)

Вы можете попробовать вот так

0 голосов
/ 11 февраля 2019

var array = JSON.parse ("[" + string + "]");

0 голосов
/ 11 февраля 2019

Вы можете отобразить объекты, взяв массив искомых ключей и их id.

var data = [{ user_id: "test@random.com", status: "Idle" }, { user_id: "whatever@random.com", status: "Busy" }],
    ids = [['user_id', 1], ['status', 2]],
    result = data.map(o => ids.map(([key, id]) => ({ id, content: o[key] })));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...