0
私の目標は"配列の総数"を配列内で見つけることです。私の2つのJS関数を自分のコード(JS array.reduce)内の多目的関数にリファクタリングする手助けが必要です
この配列内の各オブジェクト"arrayOfBikes"は"無料"プロパティを持ち、の合計値が "無料"です。
私が書いたコードの量を最小限にしようとしています。
は、それは、私は以下のことを実現しようとしているが、私はバグに遭遇した「getTotalNumberOfBikes()」
をアレイと(無料または自転車)のいずれかであることカウントする項目をとる関数を記述することが可能ですvar arrayOfBikes = [
{name: "blackhall", lat: 53.3488, lng: -6.281637, free: 22, bikes: 8},
{name: "mbrown", lat: 53.341645, lng: -6.29719, free: 14, bikes: 8},
{name: "grant street", lat: 53.334123, lng: -6.265436, free: 3, bikes: 27},
{name: "gratstreet", lat: 53.339629, lng: -6.243778, free: 19, bikes: 4},
{name: "hardstreet", lat: 53.355473, lng: -6.264423, free: 14, bikes: 2}
];
function getTotalNumberOfFreeBikes(_array){
let arrayOfFreeBikes = [];
_array.forEach(function(element){
arrayOfFreeBikes.push(element.free);
});
return arrayOfFreeBikes.reduce(function(_previousValue, _currentValue){
return _previousValue + _currentValue;
}, 0);
}
function getTotalNumberOfBikes(_array){
let arrayOfBikes = [];
_array.forEach(function(element){
arrayOfBikes.push(element.bikes);
});
return arrayOfBikes.reduce(function(_previousValue, _currentValue){
return _previousValue + _currentValue;
}, 0);
}//getTotalNumberOfBikes
document.getElementById('freeBikes').innerHTML = 'Total free bikes : ' + getTotalNumberOfFreeBikes(arrayOfBikes);
document.getElementById('Bikes').innerHTML = 'Total bikes : ' + getTotalNumberOfBikes(arrayOfBikes);
function getTotalNumberOfBikes(_array, _item){
let arrayOfBikes = [], itemToCount = _array._item;
_array.forEach(function(element){
arrayOfBikes.push(itemToCount);
});
return arrayOfBikes.reduce(function(_previousValue, _currentValue){
return _previousValue + _currentValue;
}, 0);
}//getTotalNumberOfBikes
ありがとうございます@ Mark_Mこれは本当にありがとう、あなたのコードはすごくいいですね! – Jammi