送信時にフォームを検証するためにループできる単一のjavascriptステートメントで配列(値として他の配列を含む)を定義しようとしていました。
インライン配列を作成する (しようとする) ために私が書いた関数は次のとおりです。
function arr(){
var inc;
var tempa = new Array(Math.round(arguments.length/2));
for(inc=0; inc<arguments.length; inc=inc+2) {
tempa[arguments[inc]]=arguments[inc+1];
}
return tempa;
}
これは、配列を割り当てるためにここで 3 回呼び出されます。
window.validArr = arr(
'f-county',arr('maxlen',10, 'minlen',1),
'f-postcode',arr('maxlen',8, 'minlen',6)
);
ただし、javascript デバッガーでは、変数は空であり、arr()
関数は何も返しません。このコードが何をすべきかについての私の期待が間違っている理由を誰かが知っていますか?
(私はこの関数なしで配列を作成する方法を考え出しましたが、なぜこのコードが機能しないのか不思議です (私はこれより JavaScript をよく理解していると思いました)。)