Arrays and Iteration
Array Indexing
Read elements of an array by position.
array-index
An array stores values in order, read by a zero-based index. `length` gives the count, so the last index is `length - 1`.
Array Indexing
array_index.js
Replay: real traced execution (multi-file project)
const nums = [10, 20, 30, 40];
const i = 1;
const value = nums[i];
const last = nums[nums.length - 1];
console.log("value=" + value);
console.log("last=" + last);
console.log("size=" + nums.length);
const nums = [10, 20, 30, 40];
const i = 0;
const value = nums[i];
const last = nums[nums.length - 1];
console.log("value=" + value);
console.log("last=" + last);
console.log("size=" + nums.length);
const nums = [10, 20, 30, 40];
const i = 3;
const value = nums[i];
const last = nums[nums.length - 1];
console.log("value=" + value);
console.log("last=" + last);
console.log("size=" + nums.length);
nums ← 10,20,30,40, i ← 1, value ← 20, nums[i] ← 20, last ← 40
1const nums→ 10,20,30,40 = [10, 20, 30, 40];2const i→ 1 = 1; //@i=0, 33const value→ 20 = nums[i]→ 20;4const last→ 40 = nums[nums.length - 1]→ 40;56console.log("value=" + value20);7console.log("last=" + last40);8console.log("size=" + nums.length4);outputvalue=20 last=40 size=4
nums ← 10,20,30,40, i ← 0, value ← 10, nums[i] ← 10, last ← 40
1const nums→ 10,20,30,40 = [10, 20, 30, 40];2const i→ 0 = 0;3const value→ 10 = nums[i]→ 10;4const last→ 40 = nums[nums.length - 1]→ 40;56console.log("value=" + value10);7console.log("last=" + last40);8console.log("size=" + nums.length4);outputvalue=10 last=40 size=4
nums ← 10,20,30,40, i ← 3, value ← 40, nums[i] ← 40, last ← 40
1const nums→ 10,20,30,40 = [10, 20, 30, 40];2const i→ 3 = 3;3const value→ 40 = nums[i]→ 40;4const last→ 40 = nums[nums.length - 1]→ 40;56console.log("value=" + value40);7console.log("last=" + last40);8console.log("size=" + nums.length4);outputvalue=40 last=40 size=4
Follow the Indexes
numsstarts as[10, 20, 30, 40].- The default index
iis1. nums[i]reads the second value,20.nums[nums.length - 1]reads the last value,40.- The array length is
4, so the script printssize=4. | expression | value | | --- | --- | |nums[1]| 20 | |nums[nums.length - 1]| 40 | |nums.length| 4 |
Exercise: array_index.js
Reproduce value=20, last=40, and size=4, then use the pinned i variants 0 and 3 to predict value=10 and value=40 while last and size stay 40 and 4.