0

JavaScriptテーブルに列を動的に追加できる機能を実装しています。

for(var i = 0; i < info.length; i++){

        var temp = [];

        temp.push(parseInt(info[i].site_id));
        temp.push(info[i].site);
        temp.push(info[i].site_code);
        temp.push(processArray(info[i].tc10));
        temp.push(processArray(info[i].tc9x_test));
        temp.push(processArray(info[i].tc9x_build));
        temp.push(processArray(info[i].oracle_dev));
        temp.push(processArray(info[i].database));
        temp.push(processArray(info[i].baseline));
        temp.push(processArray(info[i].push_windows));
        temp.push(processArray(info[i].push_unix));
        temp.push(processArray(info[i].license));
        temp.push(processArray(info[i].tcx));
        temp.push(processArray(info[i].eng));
        temp.push(processArray(info[i].perforce_proxy));
        temp.push(processArray(info[i].volume_server));
        temp.push(info[i].windows_ref_unit_location);
        temp.push(info[i].unix_ref_unit_location);
        temp.push(info[i].windows_rte_location);
        temp.push(info[i].unix_rte_location);
        temp.push(info[i].windows_toolbox_location);
        temp.push(info[i].unix_toolbox_location);
        temp.push(info[i].UGII_LICENSE_FILE);
        temp.push(info[i].UGS_LICENSE_SERVER);
        temp.push(info[i].unix_dev_units);
        temp.push(info[i].unix_devop_path);
        temp.push(info[i].perforce_proxy_path);
        temp.push(info[i].primary_contact);
        temp.push(info[i].secondary_contact);
        temp.push(info[i].num_users);
        temp.push(info[i].TC_12);

            // check if new columns got added:
        if(len > 29){
            for(var j = 30; j < len; j++){
                var col = columns[j];
                temp.push(info[i].col);
            }
        }
            rows.push(temp);
    }
    return rows;
}

var rows = [[]]テーブルデータを保持します...データベースからクエリさinfo[[]]れたオブジェクトが含まれます。JSONこのコードの問題:

for(var j = 30; j < len; j++){
    var col = columns[j];
    temp.push(info[i].col);
}

colの属性のいくつかと動的にバインドしようとしていますinfo。しかし、それが可能かどうかはわかりません...どうすればそれができますか?ユーザーが新しい列を追加したとしますTC_12。このように、存在するかどうかわからないので、どういうわけか私を生み出すことができるように動的に入札しTC_12たいと思います。何か案は?colinfo[i]info[i].TC_12

4

1 に答える 1

1

角括弧表記を使用して、変数の値または他の式の結果をオブジェクトプロパティとして使用します。

temp.push(info[i][col]);

.push()参考までに、複数の引数を渡すことで、1回の呼び出しでこれらすべてのプッシュを実行できます...

    temp.push(parseInt(info[i].site_id),
              info[i].site,
              info[i].site_code,
              processArray(info[i].tc10),
              processArray(info[i].tc9x_test),
              // etc...
             );
于 2012-07-26T22:46:41.143 に答える