Ionic과 Firebase로 앱을 만들고 있습니다. 때때로 소수가있는 숫자를 가지고 있으며 정수로 자르고 싶습니다.
내 코드는 다음과 같습니다.
var visitMaster = [0, 0, 0, 0, 0, 0, 0];
$timeout(function(){
var visitRef = firebase.database().ref('/business/' + myId + '/visits/');
// LAST HOUR
visitRef.orderByChild("visit").startAt(nowMinusOne).endAt(now).once("value", function(snapshot) {
var visitOneHour = (snapshot.numChildren() / 2);
if (visitOneHour === ""){
visitMaster.splice(6, 1, 0);
} else {
visitMaster.splice(6, 1, visitOneHour);
}
});
내 visitMaster 의 숫자 를 int 로 렌더링하는 방법은 무엇입니까?
업데이트 : 배열의 각 값은 차트 (막대)에 있어야하므로 그렇게 표시합니다.
//WE PUT IT IN THE CHART:
$scope.labels = ["H-6", "H-5", "H-4", "H-3", "H-2", "H-1", "Now"];
$scope.data = [
visitMaster,
];
각 값은 정수 (대부분 x.5)
의 값을 visitMaster
단일 정수 값으로 합치려는 경우 다음을 수행 할 수 있습니다.
ES5의 경우.
var total = visitMaster.reduce(function (total, visit) {
return total + visit;
}, 0);
또는 ES6를 사용하는 경우.
let total = visitMaster.reduce((total, visit) => total + visit, 0);
그런 다음 정수로 변환하려면 값을 다음 정수로 반올림하는를 사용 Math.ceil
하는 것이 좋습니다 .
total = Math.ceil(total);
업데이트 배열의 각 값을 정수로 변환하려면 Array.prototype.map
함수를 사용하십시오 . 수정을 위해 @Barmar에게 감사드립니다.
visitMaster = visitMaster.map(function (value) {
return Math.floor(value); // or Math.ceil(value);
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다