Angular как перемешать массив - PullRequest
       50

Angular как перемешать массив

0 голосов
/ 12 февраля 2020

У меня есть простой массив, похожий на этот

[{"id":"1"},{"id":"2"},{"id":"3"}]

Также прикрепите мою структуру массива к изображению

Мне нужно перетасовать это значение, я хочу, чтобы второй массив пришел первым первым. et c

Как-то так [{"id":"2"},{"id":"1"},{"id":"3"}] или на каждый случай случайного выбора приходят разные результаты Кто-нибудь может сказать, как это возможно?

enter image description here

Я пробовал это, но не знаю, как утешить новый перемешанный массив?

start(CategoryID){
console.log(CategoryID);
    this.api.getQuestions(CategoryID).subscribe((data: any)=>{
      console.log(data);
      data = this.shuffle(data);

    });

}

 shuffle(a) {
    for (let i = a.length - 1; i > 0; i--) {
        const j = Math.floor(Math.random() * (i + 1));
        [a[i], a[j]] = [a[j], a[i]];
    }
    return a;
}

1 Ответ

1 голос
/ 12 февраля 2020

Вы можете сделать это так:

let array=[{"id":"1"},{"id":"2"},{"id":"3"}] 
array.sort(() => Math.random() - 0.5);

enter image description here

...