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()
。到目前为止,我想出了这段代码。
默认值应为空字符串。
我知道这是错误的,但我不知道下一步该怎么做。
答案 0 :(得分:1)
这是我要使用的实现。我们可以避免使用冗长的逻辑来避免不真实的a
或b
。
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, ":"))