[英]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.