0

以下の配列からデータを取得する方法。カテゴリごとにデータを取得する方法。キー値のみを取得する方法 データ値のみを取得する方法

var main = [{
   "key": "all",
   "data": ['img/icon1.png', 'img/icon2.png', 'img/icon3.png']
}, {
   "key": "cat1",
   "data": ['img/icon1.png', 'img/icon2.png', 'img/icon3.png']
}, {
   "key": "cat2",
   "data": ['img/icon1.png', 'img/icon2.png']
}, {
   "key": "cat3",
   "data": ['']
}, {
   "key": "cat4",
   "data": ['']
}, {
   "key": "cat5",
   "data": ['img/icon1.png']
}];
4

6 に答える 6

0

これで、JSON がオブジェクトに格納されました。これで、オブジェクトは純粋な Javascript 配列になりました。したがって、それを繰り返して値を取得します。

for(var i=0;i<main.length;i++){
    alert('Key['.concat(i).concat('] =').concat(main[i].key));
    alert('data['.concat(i).concat('] =').concat(main[i].data));
}

フィドルとしてのあなたの例に対する私の解決策 - http://jsfiddle.net/hunkyhari/grttY/1/

于 2013-10-06T12:38:01.983 に答える
0

必要なデータは既にjsonから「取得」されています。コード自体にあり、変数に割り当てられているため、インタープリターにはすでに配列があります

残りの質問については:(非jqueryソリューション)

「キー」 (element.key配列内の各要素の値) のみを取得するには:

main.map(function (a) {return a.key})

データのみを取得するには:

main.map(function (a) {return a.data})

カテゴリ別に取得するには:

main.filter(function(a){return a.key===category})[0]

ここを参照

于 2013-10-06T12:39:30.013 に答える