Contar palabras en una matriz

dado :

let array = ['apple', 'orange', 'apple', 'orange', 'apple'];

Tarea : contar todas las palabras en la matriz dada.

Método n.º 1: utilice un bucle for

function getWordCount() {
  let map = {};

  for (let i = 0; i < array.length; i++) {
    let item = array[i];
    obj[item] = (obj[item] + 1) || 1;
  }
  return map;
}

getWordCount(array); // { apple: 3, orange: 2 }

Dentro de la función, asocie una variable con un objeto vacío (para recopilar datos), desempeñará el papel de un mapa (mapa). mapcontendrá pares - clave-valor, así como un contador de palabras, sin duplicados. El ciclo for itera sobre la matriz dada. Cada elemento se convertirá en una llave dentro del mapa. Si la palabra aún no existe (si el mapa no contiene una propiedad), se crea una nueva clave y se le asigna el valor "1". Si la palabra (clave) ya existe, entonces se suma al valor 1. Al final, se muestra un mapa. Después de getWordCount()llamar a la función con la matriz dada, devuelve un objeto con el número de palabras: 3 manzanas y 2 naranjas.

Método #2: Usa el método de reducción

function getWordCntRd() {
  return array.reduce((prev, nxt) => {
    prev[nxt] = (prev[nxt] + 1) || 1;
    return prev;
  }, {});
}

getWordCntRd(array); // { apple: 3, orange: 2 }

El método Array.prototype.reduce() incorporado de JavaScript aplica una función (devolución de llamada) a cada valor de matriz, lo que da como resultado un único valor de salida.

Dentro de la función, devolvemos una matriz con el método reduce aplicado. La función de devolución de llamada utilizada en el método reduce toma tres argumentos: prev  es el acumulador, nxt  es el valor actual, {}  es el valor original. Los datos sobre los pares clave-valor se almacenarán en {}. Aquí está la misma lógica que en el método anterior, con un bucle for. Si se encuentra la clave, el valor original {} funciona como un mapa, se crea una clave y se asigna 1 como valor. Si la palabra ya existe como clave, entonces el valor se incrementa en 1. Y así sucesivamente, hasta que se haya iterado toda la matriz. La función devuelve un valor, con el mismo resultado que en el método anterior: 3 manzanas y 2 naranjas.

Big O (forma de notación)

Ambas formas se pueden representar como O(n).

Esther Park  : Cómo obtener el conteo de palabras en una matriz usando JavaScript

Compartir:

0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.