function join(a,b){
    var conc ="";
    if(!a){
         conc = "   ";
    }else if(!b){
         for(var i=0; i < a.length;i++){
              conc+=a[i]+"  ";
         }
    }else{
         for(var i=0; i < a.length;i++){
             conc+=a[i]+b;
         }
    }
    conc=conc.substring(0,conc.length-2)
    return conc;
}


我必须创建一个功能完全执行Array.join()方法的功能,显然不用join()。到目前为止,我想出了这段代码。
默认值应为空字符串。
我知道这是错误的,但我不知道下一步该怎么做。

最佳答案

这是我将使用的实现。我们可以避免使用大多数冗长的逻辑来避免不真实的ab



function join(a, b) {
    b = !b ? "," : b;   // default a non truthy separator to comma
    if (!a) return "";

    var output = "";
    for (var i=0; i < a.length; i++) {
        output += i > 0 ? b : "";   // do not add separator after last element
        output += a[i];
    }

    return output;
}

var a = ['Fire', 'Wind', 'Rain'];
console.log(join(a, ":"))

10-08 05:16