簡體   English   中英

當輸入為空數組時,如何從 function 返回消息“這是空的”?

[英]How can I return the message “this is empty” from a function when the input is an empty array?

我在 javascript 中寫了一個 function 來查找數組中的最短字符串。 當輸入為空數組時,我希望 function 返回空數組。 我怎樣才能做到這一點? 這是我的代碼:

function tinyFriend(array) {
    var tiny = array[0];
  
    for (i = 0; i < array.length; i++) { 
      if (array[i].length < tiny.length) {
         tiny = array[i];
      } 
    }
    
    return tiny;
}

檢查 function 的開頭是數組的長度為0,否則返回數組,找到最短的元素並返回

 function tinyFriend(array) { if(array.length===0) return array; else{ var tiny = array[0]; for (i = 1; i < array.length; i++) { if (array[i].length < tiny.length) { tiny = array[i]; } } return tiny; } } console.log(tinyFriend(["test","testing","tester"])) console.log(tinyFriend([]))

試試這個(注意你在return []之后不需要else

 function tinyFriend(array) { if (array.length === 0) { return [] } var tiny = array[0]; for (i = 0; i < array.length; i++) { if (array[i].length < tiny.length) { tiny = array[i]; } } return tiny; } console.log(tinyFriend(['aa', 'bbb', 'c', 'dddd']))

使用 ES6:

 const shortTinyFriend = array => array.length > 0? array.sort((a,b) => a.length - b.length)[0]: [] console.log(shortTinyFriend(['aa', 'bbb', 'c', 'dddd'])) console.log(shortTinyFriend([]))

您應該在 function 的開頭檢查輸入數組是否為空,如下所示:

if (array.length ===0 ) {
    return array; 
    }
    else {
     for (i = 0; i < array.length; i++) {
        if (array[i].length < tiny.length) {
        tiny = array[i];
      } 
  }
 return tiny; 
 }
}

暫無
暫無

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

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