0

javascript 変数に対して document.write を実行すると、

  var abcd = [["165q",1],["160q",6],["161q",7],["162q",7],["163q",8],["164q",5]];
   document.write(abcd);

私は結果を得る

165q,1,160q,6,161q,7,162q,7,163q,8,164q,5

しかし、変数を介して同様のデータをabcdに渡すと、document.writeを実行すると、結果は正確な多次元配列になり、以下のコードになります

function radar_avg_one(one_chart_result) {
var abcd = one_chart_result;
 document.write(abcd);
document.write(one_chart_result);
}

document.write(one_chart_result); の結果

[["165q",1],["160q",6],["161q",7],["162q",7],["163q",8],["164q",5]]

document.write(abcd); の結果

[["165q",1],["160q",6],["161q",7],["162q",7],["163q",8],["164q",5]]

明示的に割り当てられたときに異なる結果が得られる理由を理解できません。主な問題は、そのような値をハードコーディングした場合にのみGoogleレーダーチャートが機能することです:(

4

1 に答える 1

0
JSON.stringify([["165q",1],["160q",6],["161q",7],["162q",7],["163q",8],["164q",5]]);

JSON を使用すると、データを再利用できる方法で、javascript のオブジェクトと配列をテキストとの間で文字列化および解析できます。

結果は次のようになります。

"[[\"165q\",1],[\"160q\",6],[\"161q\",7],[\"162q\",7],[\"163q\",8],[\"164q\",5]]"

これとともに:

JSON.parse("[[\"165q\",1],[\"160q\",6],[\"161q\",7],[\"162q\",7],[\"163q\",8],[\"164q\",5]]");

結果は次のようになります。

[["165q",1],["160q",6],["161q",7],["162q",7],["163q",8],["164q",5]]

これは真の配列です

ネイティブ json を使用しないブラウザーで JSON をサポートするには、これをサイトに追加する必要があります: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

と:

String([["165q",1],["160q",6],["161q",7],["162q",7],["163q",8],["164q",5]]);

と:

[["165q",1],["160q",6],["161q",7],["162q",7],["163q",8],["164q",5]].toString();

結果としてこれが得られます:

"165q,1,160q,6,161q,7,162q,7,163q,8,164q,5"
于 2012-08-22T15:31:48.367 に答える