簡體   English   中英

查找數組中最長的字符串

[英]Find longest string in array

我應該在數組中找到最長的字符串,但是找不到我的代碼出了什么問題。 嘗試在Visual Studio Code中進行調試時,某些操作不起作用,只是無法分離。 請幫我解決問題!

碼:

let arr = ["Orebro", "Sundsvall", "Hudriksvall", "Goteborg"];

function long_string(arr){
   let longest="";
   for (let i=0;i<arr.length;i++){
      if (arr[i]>longest){
         longest=arr[i];
      }
   } 
   return longest;
}

long_string(arr)

誰能發現錯誤?

您需要檢查項目的長度和存儲的最長字符串。

if (arr[i].length > longest.length) {
//        ^^^^^^^          ^^^^^^^

另一個提示是,您可以將第一項用作longest起始值,並從索引1開始迭代。

 function long_string(arr) { let longest = arr[0]; for (let i = 1; i < arr.length; i++) { if (arr[i].length > longest.length) { longest = arr[i]; } } return longest; } let arr = ["Orebro", "Sundsvall", "Hudriksvall", "Goteborg"]; console.log(long_string(arr)); 

您可以為此使用reduce方法,並在每次迭代中檢查當前字符串的長度。

 let arr = ["Orebro", "Sundsvall", "Hudriksvall", "Goteborg"]; let result = arr.reduce((r, e) => r.length < e.length ? e : r, ""); console.log(result) 

另一種方法是排序並獲取第一項

 let arr = ["Orebro", "Sundsvall", "Hudriksvall", "Goteborg"]; console.log(arr.sort((a,b)=>b.length-a.length)[0]) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM