提问者:小点点

当输入为空数组时,如何从函数返回消息“this is empty”?


我用javascript编写了一个函数,用于查找数组中的最短字符串。 我希望函数在输入为空数组时返回空数组。 我怎么能那么做? 下面是我的代码:

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;
}

共3个答案

匿名用户

在函数开始时检查数组的长度为0,返回数组,否则查找最短的元素返回

null

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:

null

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']))

匿名用户

您应该在函数的开头检查输入数组是否为空,如下所示:

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; 
 }
}