2016-10-25 6 views
0

I wie ein JSON hatte zu finden unterwie die erste drei maximale Länge des Arrays in JSON

sampleArray=[{name:'john',hobbies:['sports','music']}, 
       {name:'steve',hobbies:['singing','movies','playing']}, 
       {name:'raj',hobbies:['movies']}, 
       {name:'nikil',hobbies:['music','movies','playing','tennis']}, 
       {name:'bose',hobbies:['sports','music']}, 
       {name:'suku',hobbies:['music']}, 
       {name:'sai',hobbies:['sports','music','watchingTv','movies','tennis']}, 
       {name:'vivek',hobbies:['sports']}, 
       {name:'ram',hobbies:['sports','music','watching']}] 

nun basierend auf Hobbys Arraylänge, erste drei maximale Arraylängen Objekte einen Array und die verbleibenden Objekte drücken haben schieben haben

zu einem anderen Array

, was ich erwarte, ist wie

resultantArray1=[{name:'sai',hobbies:['sports','music','watchingTv','movies','tennis']}, 
        {name:'nikil',hobbies:['music','movies','playing','tennis']}, 
        {name:'steve',hobbies:['singing','movies','playing']}] 



resultantArray2=[{name:'john',hobbies:['sports','music']}, 
        {name:'raj',hobbies:['movies']}, 
        {name:'bose',hobbies:['sports','music']}, 
        {name:'suku',hobbies:['music']}, 
        {name:'vivek',hobbies:['sports']}, 
        {name:'ram',hobbies:['sports','music','watching']}] 

Antwort

3

Sie nach Länge der Hobbys sortieren könnten und dann einfach die Top-3 in die resultantArray1 und t er ruhen auf den resultantArray2

var sampleArray=[ 
 
       {name:'john',hobbies:['sports','music']}, 
 
       {name:'steve',hobbies:['singing','movies','playing']}, 
 
       {name:'raj',hobbies:['movies']}, 
 
       {name:'nikil',hobbies:['music','movies','playing','tennis']}, 
 
       {name:'bose',hobbies:['sports','music']}, 
 
       {name:'suku',hobbies:['music']}, 
 
       {name:'sai',hobbies:['sports','music','watchingTv','movies','tennis']}, 
 
       {name:'vivek',hobbies:['sports']}, 
 
       {name:'ram',hobbies:['sports','music','watching']} 
 
       ]; 
 

 
sampleArray.sort(function(a, b){ 
 
    return b.hobbies.length - a.hobbies.length; 
 
}); 
 

 
var resultantArray1 = [].concat(sampleArray); 
 
var resultantArray2 = resultantArray1.splice(3); 
 

 
console.log(sampleArray); 
 
console.log(resultantArray1); 
 
console.log(resultantArray2);

Verwandte Themen