Как создать функцию join () - PullRequest
0 голосов
/ 03 декабря 2018
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().Я придумал этот код до сих пор.По умолчанию должна быть пустая строка.Я знаю, что это неправильно, но я не знаю, что делать дальше.

1 Ответ

0 голосов
/ 03 декабря 2018

Вот реализация, которую я бы использовал.Мы можем избежать самой длинной логики, которую вы использовали для того, чтобы избежать неправды 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, ":"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...