需要

2016-10-14 97 views
0

我有一個JSON陣列工作,我試圖從HTML頁面上張貼當我運行的循環刪除重複從JSON數組刪除重複。目前,我在頁面上看到具有相同類別披薩的圖像。我怎樣才能做到這一點,因此它只顯示一個帶有圖像的披薩類別?我想隱藏其他人。 希望有人能告訴我什麼,我需要做的。下面是我的代碼:需要

(function() { 
 
    'use strict'; 
 

 
    var url = 'path to json'; 
 

 
    $.getJSON(url, function(json) { 
 
    var data = (json); 
 
    var images = ''; 
 

 
    \t var uniqueNames = []; 
 
\t \t 
 
    \t //retrieve values from json file 
 
    \t $.each(data, function(i, item) { 
 
\t  if($.inArray(item, uniqueNames) === -1) uniqueNames.push(item) 
 
     \t \t images += '<div class="col-md-6 col-sm-6">' + '<img class="img img-responsive img-hover imgCategory" src="' + (item[0].imageURL) + '">' + '<h1>' + (item[0].category) + '</h1>' + '</div>'; 
 
    \t 
 
     }); 
 
    \t //append results to div 
 
    \t $('#images').html(images); 
 
    }); 
 
})();

/*JSON Sample */ 
[ 
    [{ 
    "category": "pasta", 
    "imageURL": "path to image" 
    }], 
    [{ 
    "category": "pizza", 
    "imageURL": "path to image" 
    }], 
    [{ 
    "category": "pizza", 
    "imageURL": "path to image" 
    }] 
] 
+0

http://stackoverflow.com/questions/9229645/remove-duplicates-from-javascript - 陣列 –

回答

0

試試這個辦法:

var arr = [], //collect id values 
    collection = []; //collect unique object 

$.each(json_all, function (index, value) { 
    if ($.inArray(value.id, arr) == -1) { //check if id value not exits 
     arr.push(value.id);//push id value in arr 
     collection.push(value); //put object in collection to access later 
    } 
}); 
+0

我試過,但它似乎沒有工作 – Tom

+0

目前我想這種做法\t VAR uniqueNames = []; \t \t \t //從JSON文件 \t $。每次(數據,功能(I,項目){ \t如果($。inArray(項目,uniqueNames)=== -1)uniqueNames.push(項值) \t \t圖像+ = '

' + ' ' + '

' + (item[0].category) + '

' + '
'; \t}); \t //追加結果div的 \t $( '#圖像')HTML(圖像)。 – Tom

+0

將在上面更新代碼以及 – Tom