मेरी समस्या यह है कि मैं एक निश्चित श्रेणी में मानों के साथ चाबियों की गिनती वाली एक नई वस्तु बनाना चाहता हूं। मुझे लगता है कि मेरे लिए इस समस्या को स्पष्ट करने का सबसे अच्छा तरीका इसे इस प्रकार से स्पष्ट करना है।

मेरा डेटासेट इस प्रकार है:

A = 1-1000 से क्रमित संख्याओं का एक क्रम जैसे एक आईडी/पंक्ति संख्या

बी = 1-100 . के बीच कोई यादृच्छिक संख्या

{"a":1,"b":59},
{"a":2,"b":88},
{"a":3,"b":69},
{"a":4,"b":28},
{"a":5,"b":75},
{"a":6,"b":78}
...]

अब मैं एक एल्गोरिदम बनाना चाहता हूं जो आवृत्ति (बी) के साथ ए (पंक्ति संख्या) की संख्या की गणना करता है उदाहरण: 0-9 और उस मान को एक नई वस्तु में डाल दें जो आदर्श रूप से कुछ ऐसा दिखाई देगा

सी के साथ उस श्रेणी का प्रतिनिधित्व करता है (0-9, 1-19, 20-29...90-100)

और डी (ए) आवृत्ति (बी) रेंज में (सी) के साथ आईडी (ए) की गिनती का प्रतिनिधित्व

[
{"c":1, "d":10},
{"c":2, "d":13},
{"c":3, "d":20},
...
{"c":10, "d":6}
]

मैंने वांछित परिणाम प्राप्त किए बिना कुछ अलग चीजों की कोशिश की है। मुझे उस गिनती के परिणाम को एक नई वस्तु मानचित्र में डालने की भी आवश्यकता है जो मुझे यकीन नहीं है कि कैसे करना है।

dat = [
  { "ruid": 1, "id_frequency": 5 },
  { "ruid": 2, "id_frequency": 88 },
  { "ruid": 3, "id_frequency": 69 },
  { "ruid": 4, "id_frequency": 28 },
  { "ruid": 5, "id_frequency": 75 },
  { "ruid": 6, "id_frequency": 78 },
  { "ruid": 7, "id_frequency": 18 },
  { "ruid": 8, "id_frequency": 90 },
  { "ruid": 9, "id_frequency": 22 }
];

var freq = Object.keys(dat).filter(function(key){
   return ( dat[key] > 0 && dat[key] <10 );
}).length;

-1
rkras 30 अक्टूबर 2019, 16:45

1 उत्तर

सबसे बढ़िया उत्तर

आप गिनती के लिए सूचकांक के रूप में मूल्य के दसवें हिस्से का एक सरणी और पूर्णांक मान ले सकते हैं।

var data = [{ a: 1, b: 59 }, { a: 2, b: 88 }, { a: 3, b: 69 }, { a: 4, b: 28 }, { a: 5, b: 75 }, { a: 6, b: 78 }],
    result = data
        .reduce((r, { b }) => {
            r[Math.floor(b / 10)].d++;
            return r;    
        }, Array.from({ length: 10 }, (_, i) => ({ c: i + 1, d: 0})))


console.log(result);
0
Nina Scholz 30 अक्टूबर 2019, 13:54