2012-03-14 11 views
0

これは過去にここ数回出てきた質問ですが、私はその周りに頭を浮かべることはできません。JavaScriptでネストされた配列を構築する助けを求める

これは私の出力は、現時点では見ている方法です。

0 "affiliate_hoover_plugin_options[1][radioName]:mac" 

1 "checked:true" 

2 "affiliate_hoover_plugin_options[2][radioName]:pc" 

3 "checked:false" 

4 "affiliate_hoover_plugin...ons[3][radioName]:linux" 

5 "checked:false" 

そしてこれは、私はそれを見てみたい方法です:

1: "affiliate_hoover_plugin_options[1][radioName]:mac", "checked:true" 

2: "affiliate_hoover_plugin_options[2][radioName]:pc", "checked:false" 

3: "affiliate_hoover_plugin...ons[3][radioName]:linux", "checked:false" 

これは私のコードがどのように見えるかです:

var newForm = []; 

for (var i = 1; i < oldForm.length; i += 1) { 

newForm.push(oldForm[i].name + ":" + oldForm[i].value); 

if (oldForm[i].type === "radio") { 
    newForm.push("checked" + ":" + oldForm[i].checked); 
} 

} 

console.log(OnewForm); 

今、私は余分なforループを置くつもりはありません、それは私が混乱している場所です。

私はちょうどこのようにブレーク

答えて

1

が必要だと思いますか?

var newForm = []; 

for (var i = 1; i < oldForm.length; i += 1) { 
    if (oldForm[i].type === "radio") { 
     newForm.push([ oldForm[i].name + ":" + oldForm[i].value, "checked:" + oldForm[i].checked ]); 
    } else { 
     newForm.push([ oldForm[i].name + ":" + oldForm[i].value ]); 
    } 
} 
+0

これは、実行可能な解決策だったが動作する可能性があります。それは私が探していたものではありませんでしたが、仕事をしました。 – AndyW

0
var newForm = []; 

for (var i = 0; i < oldForm.length; i++) { 
    var array = []; 
    array.push(oldForm[i].name + ":" + oldForm[i].value); 
    array.push("checked" + ":" + oldForm[i].checked); 
    newForm.push(array); 
} 

console.log(newForm); 

関連する問題