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;
}