How does Java know the length of the array before it exists?

Tell us what’s happening:
SPOILER

Result, arr, and resultDisplayArray are variables given in the structure of the problem. and you have to use arr.length to iterate through the for-loop to push the “text-warning” strings into the “resultDisplayArray” array using the template literals syntax. ’

The ‘result’ and ‘resultDisplayArray’ arrays both are populated with data to define the length of them. But how does Java know the length of arr when we use ‘arr.length’ in the for-loop?

:star_struck:
Your code so far


const result = {
success: ["max-length", "no-amd", "prefer-arrow-functions"],
failure: ["no-var", "var-on-top", "linebreak"],
skipped: ["id-blacklist", "no-dup-keys"]
};
function makeList(arr) {
"use strict";

// Only change code below this line
const resultDisplayArray = [];
for (let i = 0; i < arr.length; i++){
  resultDisplayArray.push(`<li class="text-warning">${arr[i]}</li>`);
}
// Only change code above this line

return resultDisplayArray;
}

const resultDisplayArray = makeList(result.failure);

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36.

Challenge: Create Strings using Template Literals

Link to the challenge:

the result.failure array is passed as argument of the function, arr has that value and it exists

1 Like

If I understand you you’re saying that in this case arr is the length of resultDisplayArray because it’s within the parentheses that are attached to resultDisplayArray?

arr has the same length of result.failure because calling the function with result.failure as argument is like saying arr = result.failure

arr was already included in the code to fill in, but following that logic could it be said that arr could be any other arangment of letters (array, ar, or arrrrrrrr) for example?
and that anything that could be recognized as an array would be used to fill in the for-loop?

array.length
ar.length
arrrrrrrr.length
:woozy_face:

like variables, function parameters can have any name you want (respecting rules for valid names)

and you could also call the function with any array, you wouldn’t get error messages to display, but it would work the same