समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो स्ट्रिंग्स की एक सरणी लेता है। सरणी में सभी स्ट्रिंग्स में समान अक्षर होते हैं, या अक्षरों की पुनरावृत्ति होती है, और केवल एक स्ट्रिंग में अक्षरों का एक अलग सेट होता है। हमारा फ़ंक्शन उस स्ट्रिंग को ढूंढकर लौटाएगा।
उदाहरण के लिए
यदि सरणी है:
['ba', 'abc', 'acb', 'bac', 'foo', 'bca', 'cab', 'cba' ]
तो आवश्यक स्ट्रिंग 'foo' है।
स्ट्रिंग्स में स्पेस हो सकते हैं। स्पेस महत्वपूर्ण नहीं हैं, केवल गैर-स्पेस प्रतीक मायने रखते हैं। उदाहरण, एक स्ट्रिंग जिसमें केवल स्पेस हों वह खाली स्ट्रिंग की तरह है। यह गारंटी है कि सरणी में 3 से अधिक स्ट्रिंग्स हैं।
उदाहरण
निम्न कोड देखें:
const arr = ['ba', 'abc', 'acb', 'bac', 'foo', 'bca', 'cab', 'cba' ]; const findOnlyUnique = (arr = []) => { const first = []; for(i = 0; i < arr.length; i++){ first.push(arr[i].toLowerCase().replace(/\s/g, '').split('')); for (j = 0; j < arr[i].length; j++){ first[i].sort(); } } const second = []; for (k = 0; k < arr.length; k++){ second.push(first[k].join()); } second.sort(); const third = []; if (second[1] !== second[second.length - 1]) { third.push(second[second.length - 1]); }else{ third.push(second[0]); } const last = []; for(let n = 0; n < first.length; n++){ last.push(first[n].join(',')); } return (arr[last.indexOf(third[0])]); }; console.log(findOnlyUnique(arr));आउटपुट
foo