Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जटिल सरणी समूहीकरण जावास्क्रिप्ट

<घंटा/>

मान लीजिए कि हमारे पास इस तरह की वस्तुओं की एक सरणी है -

const arr = [
   {userId: "3t5bsFB4PJmA3oTnm", from: 1, to: 6},
   {userId: "3t5bsFB4PJmA3oTnm", from: 7, to: 15},
   {userId: "3t5bsFB4PJmA3oTnm", from: 172, to: 181},
   {userId: "3t5bsFB4PJmA3oTnm", from: 182, to: 190}
];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो ऐसी एक सरणी लेता है। फ़ंक्शन को ओवरलैपिंग ऑब्जेक्ट्स को उनके "से" और "टू" प्रॉपर्टी के आधार पर एक ही ऑब्जेक्ट में इस तरह समूहित करना चाहिए -

const output = [
   {userId: "3t5bsFB4PJmA3oTnm", from: 1, to: 15},
   {userId: "3t5bsFB4PJmA3oTnm", from: 172, to: 190}
];

उदाहरण

const arr = [
   {userId: "3t5bsFB4PJmA3oTnm", from: 1, to: 6},
   {userId: "3t5bsFB4PJmA3oTnm", from: 7, to: 15},
   {userId: "3t5bsFB4PJmA3oTnm", from: 172, to: 181},
   {userId: "3t5bsFB4PJmA3oTnm", from: 182, to: 190}
];
const groupByDuration = (arr = []) => {
   const result = arr.reduce((acc, val) => {
      let last = acc[acc.length - 1] || {};
      if (last.userId === val.userId && last.to + 1 === val.from) {
         last.to = val.to; } else {
            acc.push({ userId: val.userId, from: val.from, to: val.to });
      }
      return acc;
   }, []);
   return result;
}
console.log(groupByDuration(arr));

आउटपुट

और कंसोल में आउटपुट होगा -

[
   { userId: '3t5bsFB4PJmA3oTnm', from: 1, to: 15 },
   { userId: '3t5bsFB4PJmA3oTnm', from: 172, to: 190 }
]

  1. जावास्क्रिप्ट में ऐरे शिफ्ट ()

    जावास्क्रिप्ट ऐरे शिफ्ट () फ़ंक्शन सरणी से पहले तत्व को हटा देता है - सरणी शिफ्ट () फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरिफ़; } .नमूना { फ़ॉन्ट-आकार:20px; फ़ॉन्ट-वजन:500; }JavaScript Array Shiftयहां क्लिक करें सरणी से

  1. जावास्क्रिप्ट में ऐरे रिवर्स ()

    जावास्क्रिप्ट ऐरे रिवर्स () फ़ंक्शन एक सरणी में तत्वों के क्रम को उलट देता है सरणी रिवर्स () फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=

  1. जावास्क्रिप्ट में ऐरे डी-स्ट्रक्चरिंग।

    एक सरणी से अनपैक मानों को नष्ट करना। जावास्क्रिप्ट में सरणी डी-स्ट्रक्चरिंग के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scal