Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาสตริงที่ยาวที่สุดในอาร์เรย์ (ไม่รวมช่องว่าง) JavaScript


เราจำเป็นต้องเขียนฟังก์ชันที่ยอมรับอาร์เรย์ของตัวอักษรสตริงและส่งกลับดัชนีของสตริงที่ยาวที่สุดในอาร์เรย์ ขณะคำนวณความยาวของสตริง เราไม่ต้องพิจารณาความยาวที่ใช้โดยช่องว่าง

หากสตริงตั้งแต่สองสตริงขึ้นไปมีความยาวเท่ากัน เราต้องส่งคืนดัชนีของสตริงแรกที่ทำเช่นนั้น

เราจะวนซ้ำในอาร์เรย์ แยกแต่ละองค์ประกอบด้วยช่องว่าง เข้าร่วมอีกครั้งและคำนวณความยาว หลังจากนี้ เราจะเก็บสิ่งนี้ไว้ในวัตถุ และเมื่อเราพบความยาวที่มากกว่าที่เก็บอยู่ในอ็อบเจ็กต์ในปัจจุบัน เราจะอัปเดตอ็อบเจ็กต์ และสุดท้าย เราจะส่งคืนดัชนี

ตัวอย่าง

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