お世話になっております。
タイトルの件について、ドロップダウンフィールドに登録された値を
値ごとにカウント(※集計)したいと考えております。
現在、下記コードで設定すると「invalid ‘in’ operand」とエラーが返ってきます。
resp.records.filter(function(data){ return data.ドロップダウン.value.length in (“選択1”);}).length;
in 演算子は文字検索が出来ないようなので、別で設定できる関数などございますでしょうか。
お手数でございますが、ご教授いただければ幸いでございます。
よろしくお願いいたします。
文字列の比較なら === で出来ます。
resp.records.filter(function(data){ return data.ドロップダウン.value === “選択1”; }).length;
rex0220様
ご返信ありがとうございます。
ご教授いただいたように設定し、集計、表示が出来ました。
ありがとうございます。
rex0220様
申し訳ございません。
本件、質問でもう一つ質問があるのですが、下記のようにコードを設定した場合、id4の合計の値が取れないのですが、
合計をとる方法はありますでしょうか。
var id1 = resp.records.filter(function(data){ return data.ドロップダウン.value === "選択1"; }).length;
var id2 = resp.records.filter(function(data){ return data.ドロップダウン.value === "選択2"; }).length;
var id3 = resp.records.filter(function(data){ return data.ドロップダウン.value === "選択3"; }).length;
var id4 = [id1 + id2 + id3]; //選択1~3までの合計
度々、お手数でございますが、ご確認お願い致します。
度々申し訳ございません。
下記コードを追記し、問題解決しました。
お騒がせしてすみません。
var sum = function(arr, fn) {
if (fn) {
return sum(arr.map(fn));
}
else {
return arr.reduce(function(prev, current, i, arr) {
return prev+current;
});
}
};
今後ともよろしくお願いいたします。