11/01/2019 Development / java script

Imagina a seguinte situacao...

Voce tem uma frase e quer montar um objeto com essa frase...Exemplo

var frase = 'Minha frase';

e quer que o objeto fique

obj = { M : 1, i : 2, n: 3, h: 4, a: 5 }

seria simples neh...só percorrer o frase e inserido valor.

var obj = {};
var arr  = [];
"fraseeeeeeee".split("").forEach((letra, index) => {
obj[letra] = (obj[letra]) ? obj[letra]+=1 : 1;
})
Object.keys(obj).forEach(letra => {
arr.push({
letra: obj[letra]
})
})
console.log(arr)

sabe oque isso vai fazer? vai gerar um array

  1. 0: {letra: 1}
  2. 1: {letra: 1}
  3. 2: {letra: 1}
  4. 3: {letra: 1}
  5. 4: {letra: 8}

mas se a gente fizer uma alteracaozinha aqui...

arr.push({
[letra]: obj[letra]
})

olha como fica:

  1. 0: {f: 1}
  2. 1: {r: 1}
  3. 2: {a: 1}
  4. 3: {s: 1}
  5. 4: {e: 8}

Espero que sirva essa dica!