HTML and CSS Reference
In-Depth Information
The net result of this code is exactly the same as for the
pop
and
push
code, except the
operations occur at the front of the array instead of the end. In other words, this example still
illustrates the stack functionality of “last in, first out.”
Taken together, the two concepts you've just seen (
pop
/
push
and
shift
/
unshift
) can be
combined to create the concept of a first-in-first-out queue. The following code demonstrates
using a queue in which the front of the line is the beginning of the array and the end of the
line is the end of the array:
var sports = new Array();
sports.push('soccer');
sports.push('basketball');
sports.push('hockey');
var get1 = sports.shift();
sports.push('golf');
var get2 = sports.shift();
This code first pushes some items into the array. This means that each item is added to the
end of the array. When an item is needed from the array, the
shift
method gets the first item
out of the beginning of the array—the item at index 0. You can easily implement the opposite
mechanism by using the
unshift
and
pop
methods, which would achieve the same results but
enter and retrieve items from the opposite ends of the array from this example.
This section examines some of the more advanced array methods. These methods all involve
the use of a
callback
, which you'll examine in more detail in Objective 2.4, “Implement a call-
back.” If callbacks are a new concept to you, you should study that objective before complet-
ing this section.
The
Array
object exposes methods that enable you to process custom logic on every single
element in the array. The following sections demonstrate each method.
Using the
every
method
The
every
method lets you process specific logic for each array element to determine whether
any of them meet some condition. Look at following code:
var evenNumbers = new Array(0, 2, 4, 6, 8, 9, 10, 12);
var allEven = evenNumbers.every(evenNumberCheck, this);
if (allEven) {
…
} else {
…
}
function evenNumberCheck(value, index, array) {
return (value % 2) == 0;
}
Search WWH ::
Custom Search