0

クロージャーを介して配列を更新する方法を探しています。これよりも効率的なものはありますか?

ps実際には、この方法で入力を使用して値を設定していません。それらは別の関数を介して渡されています。私の主なポイントを理解するための簡単な方法が必要でした.

  <script>
    sampleArrayValues=['copy','this','array'];
a="none";   

function updateArr(val,index,action) {
    var v=value;
    var i=index;
    var a=action;
    var arr=[];

    return function(v,i,a) {
        if(a=="none"){
        }
        if(a=="copy"){
            arr=sampleArrayValues;  
        }
        if(a=="update"){
            arr[index]=val; 
        }
        return arr;
    }
} 


updateArr.update1 = updateArr(0,0,a);

function scoopValues(){
    var val=0 || document.getElementById('one').value;
    var index=0 || document.getElementById('two').value;
    var action="none" || document.getElementById('three').value;
    alert(updateArr.update1(val,index,action))
}

   Enter value: <input id="one" style="width:20px;height:20px"/>
    <br>
      Enetr index: <input id="two"style="width:20px;height:20px"/>
     <br>
  Enter Action  "none" "copy" or "update": <input id="three"style="width:60px;height:20px"/>
  <br>
   <input type="button" onclick="scoopValues()" value="click to update"style="width:100px;height:25px"/>
4

0 に答える 0