Определите функцию, myJoin
, которая принимает до двух аргументов:
array
separator
(строка, необязательно)
myJoin
должен вернуть строку со всеми элементами из массива, соединенными вместе.Разделитель должен разделять соединенные элементы:
myJoin(['a', 'b', 'c'], '+'); // => "a+b+c"
Если разделитель не определен, используйте ','
в качестве разделителя по умолчанию.
myJoin(['Peter', 'Paul', 'Mary']); // => "Peter,Paul,Mary"
Если какие-либо элементы в массиве имеют значение undefined
или null
, они должны быть заменены пустой строкой в возвращаемой строке.
myJoin(['hello', undefined, 'world'], '-'); // => "hello--world"
Я не могу использовать встроенный метод join
.
Ссылка на codepen для тестирования
До сих пор я пробовал:
function myJoin (array, separator) {
let newString = "";
if (separator = undefined) {
separator === ",";
}
else {
for (let i = 0; i < array.length; i++) {
newString = i + separator;
}
}
newString = array.toString();
return newString;
}
console.log(myJoin(['a', 'b', 'c'], '+'));
^ Это не объединение элементов строки вместе с разделителем,и на самом деле возвращает a,b,c
дважды.Любая идея, почему?
EDIT : первое обновление кода после предложений @Jonas Wilms:
function myJoin (array, separator) {
let newString = "";
if (separator === undefined) {
separator === ",";
}
for (let i = 0; i < array.length; i++) {
newString += array[i] + separator;
}
return newString;
}
Кажется, это работает в моей консоли VS Code, но нев CodePen.