0

こんにちは、javascriptで配列を作成したいです

var sortValues = array(
                 2 => array(3,4,5),
                 3 => array(5,6,7), 
                 12 => array (7,4,5) 
                 );

今、フォームのすべてのテキストボックスをループしています。すべてのテキストボックスには id2_3があり、2 が配列のメイン インデックスになることを意味します。

私のhtmlマークアップは次のようになります

<input type="text" value="3" id="2_5" name="2_5">
<input type="text" value="4" id="2_5" name="2_6">
<input type="text" value="5" id="2_5" name="2_7">
<input type="text" value="5" id="3_1" name="3_1">
<input type="text" value="6" id="3_2" name="3_2">
..................................

次に、配列sortValuesに 2 が存在するかどうかを確認します。テキスト ボックスの値を取得し、この値が 2 に対して配列に存在するかどうかを確認します。値が存在しない場合は、値が既に存在するというアラートを出します。サブ配列に値をプッシュします。2 に対して 3 を配置する必要があることを意味します。2 に対して 3 が存在するかどうかを確認します。

2 (メイン インデックス) が存在しない場合は、配列などに新しいインデックスを作成します。私はこれまでに試しました

var sortvalues = new Array();
$(":text").each(function () {
    if($(this).val() != '') {
        id = $(this).attr('id');
        ids = id.split("_");
        parent = ids[0];
        child = ids[1];
        if(typeof sortvalues[parent] !== 'undefined') {
            if(typeof sortvalues[parent][$(this).val()] !== 'undefined') {
                alert("Value already exists");
            } else {
                sortvalues[parent][] = $(this).val();
            }
        } else {
            sortvalues.push(parent);
        }
    }
});
console.log(sortValues);

どちら["2", "2", "2"]が間違っているかを示します。上記の基準で上記の配列をどのように達成できますか??/

4

1 に答える 1

0

別の配列に配列を作成することを意味しますか?

例えば ​​:

var sortValues = new Array();
sortValues[2] = Array(3,4,5);

質問を明確にしてください。そして、次のとおりです。

sortvalues[parent][] = $(this).val()  --> you can't leave empty for the second array.
于 2013-03-12T07:58:43.270 に答える