Javascript 我如何为随机显示制作*NGF?

Javascript 我如何为随机显示制作*NGF?,javascript,angular,Javascript,Angular,因此,我正在制作一个应用程序,要求我以随机顺序显示元素,但由于应用程序的性质,我不允许更改ngFor。那么,如何让NGO随机显示其内容呢?您可以尝试类似的方法 <div *ngFor="let element of elements; let i= index"> <div *ngIf="(i+ 1) % number == 0"> {{ element }} </div> </div> 你可以试试这样的 <

因此,我正在制作一个应用程序,要求我以随机顺序显示元素,但由于应用程序的性质,我不允许更改ngFor。那么,如何让NGO随机显示其内容呢?

您可以尝试类似的方法

<div *ngFor="let element of elements; let i= index">
    <div *ngIf="(i+ 1) % number == 0">
       {{ element }}
     </div>
</div>

你可以试试这样的

<div *ngFor="let element of elements; let i= index">
    <div *ngIf="(i+ 1) % number == 0">
       {{ element }}
     </div>
</div>

你为什么不改变ts中的索引,我测量了你正在应用随机化的元素

假设elem是原始数组

const newElemArr = [];

getRandomElem() => {
    const pushElem(elem[getRandomValue(0, elem.length)]);
    newElemArr.push(pushElem);
    elem.splice(elem.indexOf(pushElem, 1);
    if (elem.length === 1) {
        newElemArr.push(pushElem);
    } else {
         getRandomElem();
    }
}


getRandomValue(min, max) { // min and max included 
     return Math.floor(Math.random() * (max - min + 1) + min);
}
在这里,我所做的是递归地生成随机值,从原始数组中获取该索引的值,并将其推送到新数组中


因此,新数组将始终具有随机值

为什么不更改ts中的索引,我测量了应用随机化的元素

假设elem是原始数组

const newElemArr = [];

getRandomElem() => {
    const pushElem(elem[getRandomValue(0, elem.length)]);
    newElemArr.push(pushElem);
    elem.splice(elem.indexOf(pushElem, 1);
    if (elem.length === 1) {
        newElemArr.push(pushElem);
    } else {
         getRandomElem();
    }
}


getRandomValue(min, max) { // min and max included 
     return Math.floor(Math.random() * (max - min + 1) + min);
}
在这里,我所做的是递归地生成随机值,从原始数组中获取该索引的值,并将其推送到新数组中


因此,新数组将始终具有随机值

您可以更改什么?您的意思是您不能更改HTML代码,但可以更改其目标数组?在显示数组之前随机化数组:您可以更改什么?您的意思是您不能更改HTML代码,但可以更改其目标数组?在显示数组之前随机化数组: