# JavaScript Programming/Arrays

This lesson introduces JavaScript arrays.

## Objectives and Skills

Objectives and skills for this lesson include:
* Declare and use arrays
** Single-dimensional arrays; multi-dimensional arrays; iteration; initialization; define an array; sort and search an array; use push, pop, shift, and unshift methods; use the length property; access an array element;

## Readings

* Wikipedia: Array data type
* Wikipedia: Dynamic array
* Wikibooks: JavaScript/Arrays

## Multimedia

* YouTube: JavaScript Tutorial for Beginners - 17 - Arrays
* YouTube: JavaScript Arrays with different data types
* YouTube: How to Create Arrays in JavaScript
* Youtube: JavaScript Tip: 7 Ways to Iterate Over an Array
* YouTube: Push, Pop, Unshift and Shift Array Methods
* YouTube: Multidimensional array tutorial
* YouTube: 7.2: Arrays and Loops - p5.js Tutorial

## Examples

* W3Schools: JavaScript Arrays
* W3Schools: JavaScript Array Methods
* W3Schools: JavaScript Sorting Arrays
* W3Schools: JavaScript Array Iteration Methods
* TutorialRepublic: JavaScript Arrays
* The Modern Javascript Tutorial: Arrays
* Example Code
* Arrays | MDN Web Docs
* Average or Arithmetic mean of an array using Javascript

## Activities

Complete the following activities using external JavaScript code. Apply JavaScript best practices, including comments, indentations, naming conventions, and constants. Use input elements for input and respond to input or change events or add buttons and respond to click events. Use HTML elements for output. Use separate functions for each type of processing. Avoid global variables by passing parameters and returning results. Create test data to validate the accuracy of each program. Add comments at the top of the program and include references to any resources used.
* Extend any of the activities from JavaScript Programming/Loops to use an array to hold the information generated during processing (values only) and display the results from the array (add HTML formatting) after processing is complete.

## Lesson Summary

* The first element of the array has an index of 0. The second element has an index of 1. The last element has an index of arrayName.length - 1.
* JavaScript arrays are used to store multiple values in a single variable.
* An array that has multiple arrays in it is called a multi-dimensional array.
* Arrays are commonly used to loop across a set of elements.
* In JavaScript, an array is not actually an explicit data type, but a predefined object of elements.

## Key Terms
### array

    Arrays allow us to store multiple values in a single variable.

### array methods

    Built-in functions to work with arrays in JavaScript.

### index or subscript

    An integer that defines an element position within an array and is used to access that element.

### indexOf method

    The indexOf method searches the array for the specified item, and returns its position (index).

### length

    The number of elements in an array. The length value is accessed by arrayName.length.

### multi-dimensional array

    An array whose elements consist of other arrays.

### pop method

    This method removes the last element from an array.

### push method

    Is the easiest way to add a new element to an array.

### array.reduce method

    Runs a function on each array element to produce (reduce it to) a single value.

### sort method

    The sort method sorts an array alphabetically.

### filter method

    The filter method allows you to exclude array elements that match specific criterias.

## See Also

* GeeksforGeeks: How to Create Two-Dimensional Arrays in JS
* GeeksforGeeks: JavaScript Basic Array Methods
* GeeksforGeeks: Ways of iterating over an array in JavaScript
* JavaScript Tutorial: The Beginner's Guide to JavaScript Array with Examples
* JavaScript.info: Arrays
* Medium: JavaScript Multi-Dimensional Arrays
* TutorialsPoint: JavaScript - the Arrays Object
* W3Resource: Array Exercise
* Khan Academy - Intro to Arrays
* JavaScript Array indexOf Method
* sebhastian.com: Understanding JavaScript 2D array
* sebhastian.com: Filter JavaScript array element with multiple conditions
* TheModernJavaScript: JavaScript Arrays