回答編集履歴

2

調整

2022/06/10 04:42

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -5,22 +5,18 @@
5
5
  window.addEventListener('DOMContentLoaded', ()=>{
6
6
  for(let i=0;i<ss.length;i++){
7
7
  const n=ss.key(i);
8
- const v=ss.getItem(n);
8
+ const v=ss.getItem(ss.key(i));
9
9
  console.log([n,v]);
10
10
  document.querySelector(`[name="${n}"][value="${v}"]`).checked=true;
11
11
  }
12
12
  });
13
- document.addEventListener('reset',e=>{
13
+ document.addEventListener('reset',()=>{
14
- ss.clear();
14
+ ss.clear()
15
15
  });
16
- document.addEventListener('change',e=>{
16
+ document.addEventListener('change',()=>{
17
- [...new Set([...document.querySelectorAll('[type=radio]')].map(x=>x.name))].forEach(x=>{
17
+ Array.from(new Set([...document.querySelectorAll('[type=radio]')].map(x=>x.name)),x=>{
18
18
  const v=document.querySelector(`[name="${x}"]:checked`)?.value??null;
19
- if(v==null){
20
- ss.removeItem(x);
19
+ v===null?ss.removeItem(x):ss.setItem(x,v);
21
- }else{
22
- ss.setItem(x,v);
23
- }
24
20
  });
25
21
  });
26
22
  </script>
@@ -34,3 +30,4 @@
34
30
  <input type="reset" value="reset">
35
31
  </form>
36
32
  ```
33
+ ※ちょこちょこ整形

1

調整

2022/06/10 04:23

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -5,15 +5,13 @@
5
5
  window.addEventListener('DOMContentLoaded', ()=>{
6
6
  for(let i=0;i<ss.length;i++){
7
7
  const n=ss.key(i);
8
- const v=ss.getItem(ss.key(i));
8
+ const v=ss.getItem(n);
9
9
  console.log([n,v]);
10
10
  document.querySelector(`[name="${n}"][value="${v}"]`).checked=true;
11
11
  }
12
12
  });
13
13
  document.addEventListener('reset',e=>{
14
- for(let i=ss.length-1;i>=0;i--){
15
- ss.removeItem(ss.key(i));
14
+ ss.clear();
16
- }
17
15
  });
18
16
  document.addEventListener('change',e=>{
19
17
  [...new Set([...document.querySelectorAll('[type=radio]')].map(x=>x.name))].forEach(x=>{