เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ของสตริงและคืนค่าดัชนีของสตริงที่ยาวที่สุดในอาร์เรย์ ในการคำนวณความยาวสตริง เราไม่ต้องนับความยาวที่ครอบครองโดยช่องว่าง
ถ้าสตริงสองตัวขึ้นไปมีความยาวยาวที่สุดเท่ากัน เราต้องคืนค่าดัชนีของสตริงแรกที่ทำได้
เราจะวนลูปผ่านอาร์เรย์ แยกแต่ละองค์ประกอบด้วยช่องว่าง รวมกันใหม่และคำนวณความยาว หลังจากนี้เก็บไว้ในออบเจกต์ และเมื่อเจอความยาวมากกว่าที่เก็บอยู่ เราจะอัปเดตและสุดท้ายคืนค่าดัชนี
ตัวอย่าง
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