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

JavaScript में सरणी को अद्वितीय बनाना


समस्या

हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी arr को पहले और एकमात्र आर्गुमेंट के रूप में लेता है।

एक चाल में किसी भी arr[i] को चुनना और उसे 1 से बढ़ाना शामिल है। हमारे फ़ंक्शन को सरणी arr में हर मान को अद्वितीय बनाने के लिए आवश्यक कम से कम चालों की संख्या वापस करनी चाहिए।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const arr = [12, 15, 7, 15];

तो आउटपुट होना चाहिए -

const output = 1;

आउटपुट व्याख्या

क्योंकि यदि हम किसी 15 को 16 तक बढ़ाते हैं, तो सरणी में सभी अद्वितीय तत्व होंगे।

उदाहरण

इसके लिए कोड होगा -

const arr = [12, 15, 7, 15]; 
const makeUnique = (arr = []) => { 
  arr.sort((a, b) => a - b); 
  let count = 0; 
  for (let i = 1; i < arr.length; i++) { 
    if (arr[i] <= arr[i - 1]) { 
      const temp = arr[i]; 
      arr[i] = arr[i - 1] + 1; 
      count += arr[i] - temp; 
    }; 
  }; 
  return count; 
}; 
console.log(makeUnique(arr));

आउटपुट

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

1

  1. जावास्क्रिप्ट Array.prototype.map() फंक्शन जावास्क्रिप्ट Array.prototype.map() फंक्शन

    जावास्क्रिप्ट का Array.prototype.map() फंक्शन कॉल किए गए फंक्शन के परिणामों के साथ एक नया एरे बनाने के लिए उपयोग किया जाता है। सिंटैक्स इस प्रकार है: arr.map(function callback(currentValue[, index[, array]])) उदाहरण 1 - Math.abs <!DOCTYPE html> <html> <body> <h2>डेमो हेडि

  1. JavaScript बेसिक ऐरे मेथड्स JavaScript बेसिक ऐरे मेथड्स

    कुछ बेसिक JavaScript ऐरे मेथड्स निम्नलिखित हैं: मेथड विवरण Array.push() ऐरे के अंत में एलिमेंट्स जोड़ने के लिए। Array.pop() ऐरे के अंत से एलिमेंट्स हटाने के लिए। Array.unshift() ऐरे के शुरुआत में एलिमेंट्स

  1. जावास्क्रिप्ट एरे में सभी यूनिक वैल्यूज कैसे प्राप्त करें? जावास्क्रिप्ट एरे में सभी यूनिक वैल्यूज कैसे प्राप्त करें?

    जावास्क्रिप्ट एरे में सभी यूनिक वैल्यूज प्राप्त करने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style> &nb