2

こんにちは、JSON の結果を取得する JavaScript の質問があります。

{"0":"San Diego acls","1":"San Diego pals","2":" San Diego CPR","3":" Temecula acls","4":" Temecula pals"}

これは data という変数に格納されます。

このデータ変数を解析して、次のようなリストを作成します。

San Diego acls, San Diego pals, San Diego CPR, Temecula acls, Temecula pals

エレガントな方法はありますか?

ありがとう

4

3 に答える 3

5

必要なものはこれです:

var res = [];
for (var x  in obj)
    if (obj.hasOwnProperty(x))
        res.push(obj[x]);
console.log(res.join(","));

そして、それを「エレガントに」行うもう1つの方法があります(アレックスの回答から取得)、

res = [];
Object.keys(obj).forEach(function(key) {
    res.push(obj[key]);
});
console.log(res.join(","));

その特定の順序で結果が必要な場合はObject.keys(obj)、配列で forEach を呼び出す前にキー (から来る) を並べ替えると役立ちます。このようなもの:

Object.keys(obj).sort().forEach(function(key) {
于 2012-06-16T06:00:40.437 に答える
0

これも動作します。

$(document).ready(function(){
    var data = {"0":"San Diego acls","1":"San Diego pals","2":" San Diego CPR","3":" Temecula acls","4":" Temecula pals"};
    var csv = $.map(data,function(data){ return data;});
    alert(csv);
});

jsfiddleデモ

于 2012-06-16T06:44:39.667 に答える
0

これはJavascriptでは非常に簡単です。data次のように変数にアクセスできます。

alert(data[0]);

これは「サンディエゴacls」に警告する必要があります。ループを使用して、それらすべてに対して同じことを行います。演算子を使用すると、文字列を簡単に連結できます+

var result = "";
for (var dString in data) { 
    result += dString + ", ";
}

これにより、という文字列が作成resultされ、配列内の文字列の要素が追加されます。また、質問で説明したように、各要素の間に「、」を追加します。

于 2012-06-16T05:28:30.420 に答える