クロージャーを介して配列を更新する方法を探しています。これよりも効率的なものはありますか?
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"/>