Ich muss Zeichenfolgen in einem Array ersetzen. Im Moment bin ich mit einem forEach
-loop und switch
, was nicht sehr elegant fühlt:Ersetzen Sie Zeichenfolgen in einem Array
let result = [];
source.forEach(el => {
switch (el) {
case 'replace':
result.push('with this'); break;
case ...:
...;
default:
result.push(el);
}
});
return result.join(',');
Was ich will zu bekommen, ist ein Ersatz der Elemente durch eine andere Zeichenfolge oder mit der Original-Zeichenkette, wenn es ist keine Übereinstimmung.
Das Quell-Array hat 50 Elemente, das Ersatz-Array hat 30 Elemente.
Der 'neue Map()' Teil funktioniert nicht für mich. Aber ich verstehe nicht warum. Ich bekomme keinen Fehler, aber ich bekomme auch keine Ausgabe. Benötigt 'replace.get (el)' keinen Index? – user3142695
Es funktioniert für mich auf Chrome 54 (ich nehme an, Sie verwenden einen modernen Browser oder Interpreter, wenn Sie die ES6-Pfeilsyntax in der Frage verwendet haben). Der Parameter für 'replace.get()' ist nur der Schlüssel, also in diesem Fall ein Wort aus dem Quell-Array. – Alnitak