そやの〜。前提として
- 変数 kindに、選択されているラジオボタンのvalueが、
- 変数 catsに、チェックされているチェックボックスのvalueの配列が
入っているとしよか〜。そうすると、
ときは
javascript
1cats.includes('cat01')
がtrueだし、
というのは
javascript
1kind === 'kind01' && cats.some(cat => ['cat01', 'cat02'].includes(cat))
がtrueになるゆう感じでいけるやろ思いますわ ➡ サンプル (※ <form> 追加して、ラジオボタンとチェックボックスくくってます。それと「あ」と「い」は簡易なものに差し替えてますぅ)
追記: <form>追加しなくてもできる ➡ サンプル2
追記2:
別案ですぅ〜。
ラジオボタンとチェックボックスのvalue属性として現れる文字列(kind01 から cat05 までの全て)をプロパティとして持ち、その値はチェックされていればtrue、チェックされていなければfalseになっとるゆうオブジェクトを flags として作れば、
ときは
がtrueだし、
というのは
javascript
1flags.kind01 && (flags.cat01 || flags.cat02)
がtrueになるということでいけます。
ほんで、こないなflagsは
javascript
1const flags = [...document.querySelectorAll('input')].reduce(
2    (obj, { value, checked }) => ({ ...obj, [value]: checked }), {});
で作れんで ➡ サンプル3