Javascript 我怎样才能回复信息;这是空的;当输入为空数组时,是否从函数开始?

Javascript 我怎样才能回复信息;这是空的;当输入为空数组时,是否从函数开始?,javascript,arrays,string,function,if-statement,Javascript,Arrays,String,Function,If Statement,我用javascript编写了一个函数,用于查找数组中最短的字符串。当输入为空数组时,我希望函数返回空数组。我该怎么做?这是我的密码: function tinyFriend(array) { var tiny = array[0]; for (i = 0; i < array.length; i++) { if (array[i].length < tiny.length) { tiny = array[i]; }

我用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;
}
函数tinyFriend(数组){
var-tiny=array[0];
对于(i=0;i
在函数的开头检查数组的长度是否为0,否则返回数组,找到最短的元素并返回它

函数tinyFriend(数组){
if(array.length==0)
返回数组;
否则{
var-tiny=array[0];
对于(i=1;iconsole.log(tinyFriend([])
您应该在函数开始时检查输入数组是否为空,如下所示:

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; 
 }
}
if(array.length==0){
返回数组;
}
否则{
对于(i=0;i
试试这个(请注意,在
返回[]之后,您不需要
其他

函数tinyFriend(数组){
if(array.length==0){
返回[]
}
var-tiny=array[0];
对于(i=0;iconsole.log(tinyFriend(['aa','bbb','c','dddd']))
在函数内部检查array.length==0是否返回[];实际上,这个函数用于从数组返回最短的字符串。我想要的是,当我输入一个空数组时,它应该返回一个空数组。我应该为此设置什么条件?我刚才回答了@FIDAH。你做了什么研究来确定数组是否为空?看,在我写的时候,你得到了两个类似的答案g.这两个都复制了for循环,因为您正在将tiny设置为array[0],所以它应该以1:
for(var i=1;iIn在“non-ES6”中,您还可以给数组一个默认值(为空)。@iAmOren您的意思是
返回tiny | |[]
?是的,但是所有函数体代码都会被执行,即使
数组.length
等于
0
。不。我的意思是:
函数tinyFriend(数组=[]){
@iAmOren为什么不可以,但是默认参数是ES6特性,它不会影响返回值。谢谢!我不知道。