Get the last word of a String and put it at the beginning with jQuery

1

I have the phrase: " Tomorrow it will rain ". I want to get the last word and leave it like this: " Rain, Tomorrow will ".

I'm doing it this way:

var frase = 'Amanhã vai chover';
var palavra = strg.split(' ')[0];// 

I can get the: Tomorrow ... Now, how do I get the last one and leave it in the default above using JavaScript?

    
asked by anonymous 03.11.2017 / 07:09

2 answers

4

Three suggestions:

var frase = 'Amanhã vai chover';


// maneira mais moderna A
var palavras = frase.split(' ');
var reordenado1 = '${palavras.pop()}, ${[...palavras].join(' ')}';
console.log(reordenado1);

// maneira mais moderna B
var palavras = frase.split(' ');
var reordenado2 = [palavras.pop() + ',', ...palavras].join(' ');
console.log(reordenado2);


// maneira mais compatível
var palavras = frase.split(' ');
var reordenado3 = [palavras.pop() + ','].concat(palavras).join(' ');
console.log(reordenado3);
    
03.11.2017 / 08:18
3

There are several ways, but consider this one that seems to me to be simple:

var frase = 'Amanhã vai chover'; // A frase em causa
var partes = frase.split(' '); //dividir em partes
var posicao_ultima_palavra = partes.length - 1; //encontrar a ultima posicao ultima palavra
var ultima_palavra = partes[posicao_ultima_palavra]; //pegar na ultima palavra(chover neste caso)
partes.pop();//remover a ultima palavra do array
var primeiras_palavras = '';
partes.forEach(function(palavra){//percorrer o array de palavras para formar a frase depois da virgula
primeiras_palavras += ' '; //espaco entre as palavras
primeiras_palavras += palavra; // a palavra em causa
});
var nova_frase = '${ultima_palavra}, ${primeiras_palavras}'; //resultado da contatencacao

document.querySelector('#result').innerHTML = nova_frase;
<div id="result">
</div>

With the above code, any word you are writing will have the result you want.

UPDATE

If you want you can use a shorter version.

var frase = "Amanhã vai chover"; //A frase em causa
var partes = frase.split(' '); // dividir em partes
var ultima_frase = partes.pop(); // remover a ultima parte com pop e guardar numa variave
var primeiras_palavras = partes.join(' '); // criar uma string separada por espaços(' ') com as partes restantes
var resultado = '${ultima_frase}, ${primeiras_palavras}'; //resultado

document.querySelector('#result').innerHTML = resultado;
<div id="result"></div>
    
03.11.2017 / 07:32