0
У меня есть массив строки:Машинописи: concate всех элементов в массиве строк
public scene: Array<string> = ['gittare','saxsophone','drum'];
Мне нужно объединить все строки в массиве, как 'gittare_saxsophone_drum'
. Вот мое решение в рекурсивным образом:
addressCreator(array:Array<string>){
if(array.length>0)
var fileName=array[0]+"_"+this.addressCreator(array);
else
return [];
return fileName;
}
доли не имеет рекурсивный подход может быть:
addressCreator(array:Array<string>){
array.splice(0,1);
for(let e of array)
var fileName=e+"_"+fileName;
return fileName;
}
В обоих этих решений, я Nused var
, которые не должны использоваться в функциональном программировании.
Итак, какой лучший подход?
Я не понимаю, почему вы используете сращивание, поскольку сращивание удаляет элемент из вашего параметра. Это скорее проблема в функциональном программировании, так как это делает вашу функцию не чистой. После того, как вы вызвали свою функцию, ваш массив будет пустым, и это может привести к некоторым последствиям в других частях вашего кода. – Icepickle
Я предлагаю вам прочитать страницы документации на массивах, чтобы вы знали, какие функции и методы доступны вам. –