Coder Social home page Coder Social logo

week2_day1's Introduction

week2_day1

Contenidos

JS | Data structures

JS | Array advanced methods: .map(), .filter(), .reduce(), .reverse() and .sort()

JS | Reference VS value / Shadow copy VS deep copy

Main points: array advanced methods

Los métodos .map(), .filter() y .reduce() son métodos del objeto Array que no mutan el array original.

  • El método .map():

    • Recibe como argumento una función.
    • Retorna un array manipulado de la misma longitud que el original.
    • Transfiere a cada posición del array resultante el retorno de la función argumentada.
      const values = [2, 4, 6]
      const doubledValues = values.map(elm => elm * 2)      // [4, 8, 12]
  • El método .filter()

    • Recibe como argumento una función.
    • Retorna un array con una longitud máxima igual a la longitud del array original.
    • Transfiere al array resultante cada posición del array original donde la función argumentada retorna un valor truthy.
      const values = [2, 4, 6]
      const highValues = values.filter(elm => elm < 2)      // [4, 6] 
  • El método .reduce()

    • Recibe como argumento una función con dos parámetros por defecto: acumulador y valor iterado.
    • Puede recibir un segundo argumento tomando este como valor inicial para el acumulador.
    • Toma como valor del acumulador para la segunda y sucesivas iteraciones el valor retornado de la anterior iteración.
      const values = [2, 4, 6]
      const sum = values.reduce((acc, elm) => acc + elm)      // 12 

Los métodos .sort() y .reverse() mutan el array original.

  • El método .sort()

    • Recibe como argumento una función de ordenación, de lo contrario ordena los elemtnos según codificación Unicode.
      const values = [12, 110, 2]
      values.sort()             // [110, 12, 2]
  • El método .reverse()

    • Invierte el orden de los elementos presentes en el array.
      const values = [2, 4, 6]
      values.reverse()          // [6, 4, 2]

Main points: truthies VS falsies

Los valores falsies (null, undefined, false, NaN, 0, '') son rechazados por defecto en las estructuras condicionales. Todos los demás (truthys) son aceptados por defecto.

Main points: deep copy

Es posible hacer una copia profunda tanto de un objeto/array como de todos los objetos/arrays de su interior a través de la técnica JSON.parse(JSON.stringify(myArray))

week2_day1's People

Contributors

german-alvarez-dev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.