I have tried out your example with the chrome (Version 81.0.4044.138 (Official Build) (64-bit)) browser and here is the result I am getting.
Here is a picture of local storage instance that I have stored.
Here is a picture of the 4 steps which you have tried out.
In order to access the tasks array, I have used this command.
console.log(localStorageArray[0][0]['tasks']);
Here is the full code which is have used to get this result.
localStorage.setItem('array','[[{"color":"#000000","teacher":"ELA","tasks":[[{"selection":"homework","name":"HW 1","date":"2020-05-15","time":"16:05","marked":false}]]}]]');
console.log(typeof(localStorage.array));
console.log(localStorage.array);
let localStorageArray = JSON.parse(localStorage.array);
console.log(localStorageArray);
console.log(localStorageArray[0][0]['tasks']); // to access the tasks
the console:
// second line result
string
// third line result
[[{"color":"#000000","teacher":"ELA","tasks":[[{"selection":"homework","name":"HW 1","date":"2020-05-15","time":"16:05","marked":false}]]}]]
// 4th and 5th line results
0: Array(1)
0:
color: "#000000"
tasks: Array(1)
0: Array(1)
0: {selection: "homework", name: "HW 1", date: "2020-05-15", time: "16:05", marked: false}
length: 1
__proto__: Array(0)
length: 1
__proto__: Array(0)
teacher: "ELA"
__proto__: Object
length: 1
__proto__: Array(0)
length: 1
__proto__: Array(0)
// 6th line result
0: Array(1)
0:
date: "2020-05-15"
marked: false
name: "HW 1"
selection: "homework"
time: "16:05"
__proto__: Object
length: 1
__proto__: Array(0)
length: 1
__proto__: Array(0)
I have tried out your issue within the HTML file as well. It's working fine for me.
Here is the HTML code which I have tried out.
<!doctype html>
<html lang="en">
<body>
<script >
localStorage.setItem('array','[[{"color":"#000000","teacher":"ELA","tasks":[[{"selection":"homework","name":"HW 1","date":"2020-05-15","time":"16:05","marked":false}]]}]]');
console.log(typeof(localStorage.array)); // line 01
console.log(localStorage.array); // line 02
let localStorageArray = JSON.parse(localStorage.array);
console.log(localStorageArray); // line 03
console.log(localStorageArray[0][0]['tasks']); //line 04
</script>
<div>web site working</div>
</body>
</html>
Here is the output that I'm getting.

typeofin JavaScript doesn't need parentheses, you can use justconsole.log( typeof foo )instead ofconsole.log( typeof(foo) ).