Stack Overflow is a community of 4.7 million programmers, just like you, helping each other.

Join them; it only takes a minute:

Sign up
Join the Stack Overflow community to:
  1. Ask programming questions
  2. Answer and help your peers
  3. Get recognized for your expertise

Please Help Me, I have a repeated JSON object like this :

[{
    "nip": "6080022A",
    "nama": "ASLAN PURNAMA",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": "Potensial",
    "semester1_2015": null
}, {
    "nip": "6080022A",
    "nama": "ASLAN PURNAMA",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": "Potensial"
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": "Potensial",
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": "Potensial",
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": "Potensial",
    "semester2_2014": null,
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": "Potensial",
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": "Potensial"
}]

I would like to display the value using AngularJS, and the final result that I am expecting will be like this :

nip : 6080022A
nama : ASLAN PURNAMA
semester1_2012 : null
semester2_2012 : null
semester1_2013 : null
semester2_2013 : null
semester1_2014 : null
semester2_2014 : Potensial
semester1_2015 : Potensial

nip : 6080022A
nama : NURHAYATI
semester1_2012 : null
semester2_2012 : null
semester1_2013 : Potensial
semester2_2013 : Potensial
semester1_2014 : Potensial
semester2_2014 : Potensial
semester1_2015 : Potensial

I have tried to format the result using AngularJS Unique Filter but the result only filter the "nip" and "name"

share|improve this question
up vote 0 down vote accepted

Please check this example (look at console). I used very cool library linq.js. Just process your initial array this way and use result array with ng-repeat, for example.

Solution:

$(function(){
   var array = [{
    "nip": "6080022A",
    "nama": "ASLAN PURNAMA",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": "Potensial",
    "semester1_2015": null
}, {
    "nip": "6080022A",
    "nama": "ASLAN PURNAMA",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": "Potensial"
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": "Potensial",
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": "Potensial",
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": "Potensial",
    "semester2_2014": null,
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": "Potensial",
    "semester1_2015": null
}, {
    "nip": "6080048A",
    "nama": "NURHAYATI",
    "semester1_2012": null,
    "semester2_2012": null,
    "semester1_2013": null,
    "semester2_2013": null,
    "semester1_2014": null,
    "semester2_2014": null,
    "semester1_2015": "Potensial"
}];            
   var res = Enumerable.From(array).GroupBy(function (x) { return x.nip + '&' + x.nama;} ).Select(function (x) { return { key: x.Key(), res:x.Aggregate(function(a,b){
     var res={};
     for(p in a)
        if(p!= 'nip' && p != 'nama')
            res[p]=a[p];
      for(p in b)
        if(p!= 'nip' && p != 'nama' && a[p]==null && b[p]!=null)
            res[p]=b[p];            

       return res;
   }) } }).ToArray().map(function(x){
     x.res.nip=x.key.split('&')[0];
     x.res.nama=x.key.split('&')[1];
     return x.res;
   });
   console.log(res);  
})
share|improve this answer
    
Oo my gosh ... It works, I've been searching for this solution since this morning, Thank You Slava – Arief Grando 11 hours ago

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.