O'Reilly logo

JavaScript Cookbook, 2nd Edition by Shelley Powers

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 2. JavaScript Arrays

There is no array data type in JavaScript. Instead, support for arrays is managed through the JavaScript Array object.

Array object support has changed considerably over the years—going from simple array access and assignment to sophisticated functionality allowing us to search and sort arrays, as well as manipulate the array elements using more efficient techniques. This chapter focuses on how to best utilize these more modern Array additions.

Note

Most modern browsers support the solutions presented in this chapter. To support folks not using modern browsers, there are several shims you can use to ensure applications work for most. Using ES6 String Extras Without Leaving Users in the Dirt described some of the shims, and demonstrated how you can use them.

Searching Through an Array

Problem

You want to search an array for a specific value and get the array element index if found.

Solution

Use the Array methods indexOf() and lastIndexOf():

var animals = new Array("dog","cat","seal","elephant","walrus","lion");
console.log(animals.indexOf("elephant")); // prints 3

Discussion

Though support for both indexOf() and lastIndexOf() has existed in browsers for some time, their use wasn’t standardized until the release of ECMAScript 5. Both methods take a search value that is then compared to every element in the array. If the value is found, both return an index representing the array element. If the value is not found, –1 is returned. The indexOf() method returns the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required