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