2009-03-19 19 views
1

Iは、データベースからデータを照会し、私はテキストとして表示する場合は、次の形式で示している変数でそれを返す関数(私は変更できない)を有する:Javascriptのアレイ変換

var outputdata= 
    [ 
     { itemA: 'M0929', itemDate: new Date(1950,03-1,25,0,0,0,0), itemID: 'JDR12' }, 
     { itemA: 'X0121', itemDate: new Date(1983,07-1,07,8,0,0,0), itemID: 'RPN50' }, 
     { itemA: 'U0229', itemDate: new Date(1942,09-1,07,8,0,0,0), itemID: 'CRG98' }, 
    ]; 

を私は(私も変更できないことに)それは別の関数で使用するために(特定の日付の書式設定は関係ありません)、次の形式に変換する必要があります。

var inputdata=[ 
     [ 
      "M0929", 
      "1950-03-25", 
      "JDR12" 
     ], 
     [ 
      "X0121", 
      "1983-07-07", 
      "RPN50" 
     ], 
     [ 
      "U0229", 
      "1942-09-07", 
      "CRG98" 
     ] 
    ]; 

誰かが何らかの支援を提供できる...私は実際にはJavaScriptの配列を理解していないと私は、変換を行う関数の後に本当にです。

+0

おかげのようなドット表記でプロパティを取得することができますレスポンスのために - 私はそれらのいくつかを与えるでしょう。そのない宿題はありません...ちょうど彼らのデータベース機能を使用して、システムの外へとdhtmlxGridコントロールにデータを取得する必要があります。 –

答えて

4

おそらく、例えば、それを自分で記述する必要がありますするつもりだ:

function pad (what) 
{ 
    return what < 10 ? '0'+what : String(what); 
} 
function transformData (data) 
{ 
    var result = []; 
    for (var i=0;i<data.length;++i) 
    { 
     var date = data[i]['itemDate']; 
     result.push([ 
      data[i]['itemA'], 
      date.getFullYear()+'-'+pad(date.getMonth())+'-'+pad(date.getDate()), 
      data[i]['itemID'] 
     ]); 
    } 
    return result; 
} 

var outputdata= 
    [ 
     { itemA: 'M0929', itemDate: new Date(1950,03-1,25,0,0,0,0), itemID: 'JDR12' }, 
     { itemA: 'X0121', itemDate: new Date(1983,07-1,07,8,0,0,0), itemID: 'RPN50' }, 
     { itemA: 'U0229', itemDate: new Date(1942,09-1,07,8,0,0,0), itemID: 'CRG98' }, 
    ]; 

var result = transformData(outputdata); 

alert(result.join("\n")); 

は今、注意すべき事は、UTCの日付の性質です。詳細はこちらhttp://www.w3schools.com/jsref/jsref_obj_date.aspをご覧ください。また、私は一般的にJavascriptの詳細を読むことを強くお勧めします。

+0

むしろちょうどそれらのためにそれを行うよりも、宿題の質問に延期することをお勧めします。 – MarkusQ

+0

一人(必ずしもこの男は)今日のインターネット上で有益な何かを学習した場合、それは良い一日になります。 – Jotham

1
function convert(outputdata){ 
    var arr = []; 
for(var i = 0; i<outputdata.length; i++){ 
    var output = outputdata[i]; 
    var temp = [output.itemA, output.itemDate, output.itemID]; 
    arr[i] = temp; 
} 
return arr; 
} 

編集:は ARR を初期化します。

+0

むしろちょうどそれらのためにそれを行うよりも、宿題の質問に延期することをお勧めします。 – MarkusQ

+0

サウンド。将来は気をつけます。このポストのためにはあまりできません。私がそれを削除しても、リビジョンが利用可能です。 –

+0

初心者の質問と宿題には違いがあります。私は、OPはちょうどjavascriptやプログラミングに精通していないと思うが、現実の問題のように聞こえる。 –

0

ない完全な応答、これは宿題のようなにおい(およびそれがある場合、あなたはそのようにタグ付けする必要があります)ので。だから、最初のヒント:

  • あなたは[ "ホ"、* 7 9、7] `のような何かを書くことで、配列を作ることができ
  • あなたはobj.itemA
+0

中学生=宿題ですか?まったく前提。そして、「大衆に警告する」という繰り返しのコメントは過度である。 –

+0

これは宿題のように聞こえました。1)言語でプログラミングできる人は、ここに投稿するよりも短時間でそれを拾うことができます。2)任意の「近い」境界で、変更することはできません。 3)ブランドの新しいユーザーによって投稿され、4)...あなたはアイデアを得る – MarkusQ