मैं संख्यात्मक मान द्वारा एक जेसन को सरणी में सॉर्ट करने के बारे में कैसे जाउंगा और फिर मैं आसानी से उस जानकारी तक कैसे पहुंचूं।

{"362439239671087109":{"coins":19},"178538363954003968":{"coins":18},"234255082345070592":{"coins":137}} 

अजीब संख्याएं डिसॉर्डर यूजर आईडी हैं।

-1
Nathan Hodgson 14 जुलाई 2018, 00:59
1
किस अंकीय मान से? आपने क्या करने की कोशिश की है?
 – 
Federico Grandi
14 जुलाई 2018, 01:01
यह एक सरणी नहीं है, यह एक शब्दकोश है (जिसे हैशमैप भी कहा जाता है) - इन चीजों को क्रमबद्ध नहीं किया जा सकता है। आप इसे एक सरणी में बदल सकते हैं - क्या इससे मदद मिलेगी?
 – 
SQL Hacks
14 जुलाई 2018, 01:02
जेएस में इसे आमतौर पर एक वस्तु कहा जाता है।
 – 
Barmar
14 जुलाई 2018, 01:32

3 जवाब

उम्म्म। सबसे पहले, सहयोगी सरणी बनाएं, यदि जेसन बैकेंड से उत्पन्न होता है, उदाहरण के लिए PHP में, आप ऑर्डर सरणी के लिए फ़ंक्शंस का उपयोग कर सकते हैं। ---> http://php.net/manual/en/array.sorting। php यह देखो: जावास्क्रिप्ट ऑब्जेक्ट को संख्यात्मक कुंजियों के साथ सरणी में कनवर्ट करना

0
bashman 14 जुलाई 2018, 01:06
आपका पहला लिंक PHP के लिए है, जावास्क्रिप्ट के लिए नहीं। JS में सहयोगी सरणियाँ नहीं हैं।
 – 
Barmar
14 जुलाई 2018, 01:32
var a = {"362439239671087109":{"coins":19},"178538363954003968":{"coins":18},"234255082345070592":{"coins":137}};
var b = Object.keys(a);
b.sort(function(x,y){return a[x].coins-a[y].coins});
console.log(b);
0
SQL Hacks 14 जुलाई 2018, 01:07
इतनी जल्दी शामियाने के लिए धन्यवाद, जोंस को जोड़ा जाता है और बहुत बार बदला जाता है, क्या मैं इसके बजाय सिर्फ जसन फाइल को कॉल कर सकता हूं (var a =)
 – 
Nathan Hodgson
14 जुलाई 2018, 01:09
क्षमा करें, मुझे समझ नहीं आया। शायद आप स्पष्टीकरण के लिए अपना प्रश्न संपादित कर सकते हैं।
 – 
SQL Hacks
14 जुलाई 2018, 01:12
मैं इसे उलटने के बारे में कैसे जाउंगा। यह वर्तमान में उन्हें कम से कम से अधिक तक क्रमित करता है
 – 
Nathan Hodgson
14 जुलाई 2018, 03:42
अगर ये संख्या बढ़ती ही जा रही है, तो Number.MAX_SAFE_INTEGER से अधिक होने पर ध्यान दें। 9007199254740991
 – 
Jeremy J Starcher
14 जुलाई 2018, 08:51
@Nathan, अगर किसी के जवाब से आपकी समस्या का समाधान हो गया है तो आपको अप वोट/स्वीकार करना चाहिए।
 – 
hygull
14 जुलाई 2018, 09:08
// Code that can handle VERY large numbers by treating them as strings.


var a = {
  "362439239671087109": {
    "coins": 19
  },
  "178538363954003968": {
    "coins": 18
  },
  "234255082345070592": {
    "coins": 137
  }
};


function padWithZeros(s) {
  return ("000000000000000000000" + s).substr(-20);
}

var b = Object.keys(a);
b.sort(
  function(x, y) {
    var s1 = padWithZeros(a[x].coins);
    var s2 = padWithZeros(a[y].coins);

    if (s1 === s2) {
      return 0;
    }

    if (s1 > s2) {
      return 1;
    } else {
      return -1;
    }


  });
console.log(b);
0
Jeremy J Starcher 14 जुलाई 2018, 08:58