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