Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在数组中按角度赋值?_Angular - Fatal编程技术网

Angular 如何在数组中按角度赋值?

Angular 如何在数组中按角度赋值?,angular,Angular,我有一个硬币变量,不同的用户有不同的价值(例如600、100)。现在,我想要一个名为selectableCoins的数组,该数组包含值,例如,如果用户有600个硬币,那么selectableCoins必须是[600500400300200100]&如果用户有100个硬币,那么selectableCoins必须是[100]。我怎样才能做到这一点,请帮助 public selectableCoins: Array<any> = []; this.selectableCoins=[];

我有一个硬币变量,不同的用户有不同的价值(例如600、100)。现在,我想要一个名为selectableCoins的数组,该数组包含值,例如,如果用户有600个硬币,那么selectableCoins必须是
[600500400300200100]
&如果用户有100个硬币,那么selectableCoins必须是
[100]
。我怎样才能做到这一点,请帮助

public selectableCoins: Array<any> = [];
this.selectableCoins=[];
for(设i=0;i
试试这个

this.totalCoins = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]; // let's total coins have this values 
var selected = 500; // suppose use have 500 coins
this.selectableCoins = this.totalCoins.filter(a => a <= selected).sort((a,b) => b- a); 
console.log(SelectedArr); // will print [500, 400, 300, 200, 100]
this.totalCoins=[1002003004005006007008009001000];//让我们把所有的硬币都换成这个值
所选变量=500;//假设我们有500枚硬币
this.selectableCoins=this.totalCoins.filter(a=>ab-a);
console.log(SelectedArr);//将打印[500400300200100]

谢谢

您的硬币总价值总是100的倍数吗?@AngelaAmarapala是的。没有在控制台中获取可选择的硬币。它没有进入循环。好吧,我这里有另一个问题。当我在代码中使用ngOnInit()重新加载时,它会在数组中附加如下新值:[100200300100200300]。每次代码ngOnInit()启动时,我都会得到重复的值。是否有this.selectableCoins=[]命令?你能给我你的ngOnInit方法吗,也许我能找到问题所在?我知道了。ngOnInit被调用了两次,这就是它发生的原因。硬币可以不止这些。它将来自api,对吗?我只是假设这就是为什么它是静态的
this.selectableCoins = [];
for (let i=0; i < this.totalCoins/100; i++) {
    this.selectableCoins.push((i+1)*100);
}
this.totalCoins = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]; // let's total coins have this values 
var selected = 500; // suppose use have 500 coins
this.selectableCoins = this.totalCoins.filter(a => a <= selected).sort((a,b) => b- a); 
console.log(SelectedArr); // will print [500, 400, 300, 200, 100]