これを 1 歩ずつ進めていきましょう。
あなたは以下から始めました:
var xxxx = 0;
$('.clonedInput').each(function(index) {
if($(this).children().filter(':checked').length == 2)
xxxx++;
});
filter
私には、これは単に要素のコレクションを試みて.clonedInput
、フィルターに一致する数を見つけようとしているように見えます:
var xxxx;
function hasTwoCheckedChildren(i) {
return $(this).children(':checked').length == 2;
}
xxxx = $('.clonedInput').filter(hasTwoCheckedChildren).length;
に続く:
var num_normal_foods = 0;
$('[id^="amount_"]').each(function(index) {
if($(this).val() == '30.00')
num_normal_foods++;
});
繰り返しますが、これは私にはフィルタリング機能のように見えます:
var num_normal_foods;
function valueIsThirty(i) {
return +$(this).val() === 30;
}
num_normal_foods = $('[id^="amount_"]').filter(valueIsThirty).length;
最終的に重要なのは、コードが意図したとおりに動作することです。あなたが書いたコードがあなた.each
が望むことをするなら、それを変更する必要はありません。とにかく裏でfilter
使う。each