Yazılım | Programlama Node.js ile Json veri çekme

KurokoTetsuya

Kadim Üye
23 Nis 2015
5,028
2
SGA
Kod:
{ '566364176574840846': { xp: 92, level: 2 },
  '566355269903450132': { xp: 85, level: 2 },
  '535101005835141131': { xp: 103, level: 2 },
  '566354734085177344': { xp: 98, level: 2 },
  '566367073035485194': { xp: 91, level: 2 },
  '563419993505792033': { xp: 102, level: 2 },
  '563421037274857503': { xp: 93, level: 2 },
  '566358473663709200': { xp: 73, level: 2 },
  '566359498407804940': { xp: 99, level: 2 },
  '503294083276603392': { xp: 93, level: 2 },
  '563785698117943317': { xp: 100, level: 2 } }

Elimde bunun gibi bir liste var, ben burdaki tüm xp değerlerini listeleyip büyükten küçüğe olacak şekilde sıralamak istiyorum. İnternette araştırdım fakat işimi görecek bir çözüm bulamadım.
 

Phoique 7

Katılımcı Üye
14 Mar 2017
505
1
Manisa
Bu şekilde bilmiyorum sıralayabilir misin. Veri büyüklüğünü bilmiyorum ama eğer büyük değil ise, tüm xp değerini bir array içine aldıktan sonra sort ile küçükten büyüye sıraladıktan sonra map kullanabilirsin. Büyük diyor isen bunu rest api alıyor isen oradan küçükten büyüye sıralayıp o şekilde alman daha performanslı olacaktır. Veriyi bir array içine alabilirsen bak şu şekilde sorupta çözenler olmuş bunlara bir bakmalısın.

https://stackoverflow.com/questions/17684921/sort-json-object-in-javascript
https://stackoverflow.com/questions/979256/sorting-an-array-of-javascript-objects-by-property
Şöyle de bir modül buldum: https://www.npmjs.com/package/sort-json-array
 

Anonim6

Yeni üye
29 Şub 2012
0
5
Kod:
{ '566364176574840846': { xp: 92, level: 2 },
  '566355269903450132': { xp: 85, level: 2 },
  '535101005835141131': { xp: 103, level: 2 },
  '566354734085177344': { xp: 98, level: 2 },
  '566367073035485194': { xp: 91, level: 2 },
  '563419993505792033': { xp: 102, level: 2 },
  '563421037274857503': { xp: 93, level: 2 },
  '566358473663709200': { xp: 73, level: 2 },
  '566359498407804940': { xp: 99, level: 2 },
  '503294083276603392': { xp: 93, level: 2 },
  '563785698117943317': { xp: 100, level: 2 } }

Elimde bunun gibi bir liste var, ben burdaki tüm xp değerlerini listeleyip büyükten küçüğe olacak şekilde sıralamak istiyorum. İnternette araştırdım fakat işimi görecek bir çözüm bulamadım.

Kod:
var json = {
    '566364176574840846': {
        xp: 92,
        level: 2
    },
    '566355269903450132': {
        xp: 85,
        level: 2
    },
    '535101005835141131': {
        xp: 103,
        level: 2
    },
    '566354734085177344': {
        xp: 98,
        level: 2
    },
    '566367073035485194': {
        xp: 91,
        level: 2
    },
    '563419993505792033': {
        xp: 102,
        level: 2
    },
    '563421037274857503': {
        xp: 93,
        level: 2
    },
    '566358473663709200': {
        xp: 73,
        level: 2
    },
    '566359498407804940': {
        xp: 99,
        level: 2
    },
    '503294083276603392': {
        xp: 93,
        level: 2
    },
    '563785698117943317': {
        xp: 100,
        level: 2
    }
}


Object.keys(json).map(key => ({
    k: key,
    v: json[key]
})).sort((x, y) => (x.v.xp > y.v.xp) ? 1 : (x.v.xp < y.v.xp) ? -1 : 0).reverse().forEach((sorted) => console.log(JSON.stringify(sorted)));
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.