हमें एक फ़ंक्शन लिखना है जो स्ट्रिंग लिटरल्स के एरे को स्वीकार करता है और एरे में सबसे लंबी स्ट्रिंग का इंडेक्स लौटाता है। स्ट्रिंग्स की लंबाई की गणना करते समय हमें व्हाइटस्पेस द्वारा घेरी गई लंबाई पर विचार नहीं करना है।
यदि दो या अधिक स्ट्रिंग्स की समान सबसे लंबी लंबाई है, तो हमें पहली स्ट्रिंग का इंडेक्स लौटाना होगा जो ऐसा करती है।
हम एरे पर पुनरावृति करेंगे, प्रत्येक तत्व को व्हाइटस्पेस द्वारा विभाजित करेंगे, फिर से जोड़ेंगे और लंबाई की गणना करेंगे, इसके बाद हम इसे एक ऑब्जेक्ट में स्टोर करेंगे। और जब हमें वर्तमान में ऑब्जेक्ट में स्टोर की गई लंबाई से अधिक लंबाई मिलती है, तो हम इसे अपडेट करते हैं और अंत में इंडेक्स लौटाते हैं।
उदाहरण
const arr = ['Hello!', 'How are you', 'Can ', 'I use', 'splice method with', ' strings in Js?']; const findLongestIndex = (arr) => { const index = { '0': 0 }; const longest = arr.reduce((acc, val, index) => { const actualLength = val.split(" ").join("").length; if(actualLength > acc.length){ return { index, length: actualLength }; } return acc; }, { index: 0, length: 0 }); return longest.index; }; console.log(findLongestIndex(arr));आउटपुट
कंसोल में आउटपुट होगा -
4