Javascript 返回值以4的倍数表示
我的代码有一些困难,即与倍数有关 首先,如果Javascript 返回值以4的倍数表示,javascript,angular,Javascript,Angular,我的代码有一些困难,即与倍数有关 首先,如果basket.length大于或等于4(4、8、12、16…),则我希望显示以下元素: <div class="alert alert-danger" role="alert" *ngIf="basket.length % 4 === 0"> You need to select at least {{ getNumberOfMuffins() }} muffins Divid
basket.length
大于或等于4(4、8、12、16…),则我希望显示以下元素:
<div class="alert alert-danger" role="alert" *ngIf="basket.length % 4 === 0">
You need to select at least {{ getNumberOfMuffins() }} muffins Divide by 4, call Math.ceil
, then multiply by 4:
const getNumberOfMuffins = basketLength => 4 * Math.ceil(basketLength / 4);
console.log(getNumberOfMuffins(4));
console.log(getNumberOfMuffins(5));
console.log(getNumberOfMuffins(6));
您需要选择至少{{getNumberOfMuffins()}}个muffins除以4,调用Math.ceil
,然后乘以4:
const getNumberOfMuffins=basketLength=>4*Math.ceil(basketLength/4);
console.log(getNumberOfMuffins(4));
console.log(getNumberOfMuffins(5));
console.log(getNumberOfMuffins(6))代码>Naiv和自我解释方法(…3->4,4->8,5->8…)
Naiv和自我解释方法(…3->4,4->4,5->8…)
使用舍入(…3->4,4->4,5->8…)进行不同和简短的操作:
getNumberOfMuffins() {
return this.basket.length + (4 - this.basket.length % 4);
}
getNumberOfMuffins() {
if (this.basket.length % 4 === 0) return this.basket.length;
return this.basket.length + (4 - this.basket.length % 4);
}
getNumberOfMuffins() {
// divide by 4, floor to hole number (|0), add one and "multiply back" with 4
return ((this.basket.length/4|0)+1)*4;
}