In brief
typeof does not distinguish arrays from ordinary objects.
Useful to know
Array.isArray() returns true for an array and false for other values. For example, Array.isArray([]) is true, while Array.isArray({}) is false. Both values otherwise have typeof "object". [1]
Check is useful before crawling a derived JSON list. It confirms the type of container, but does not check the margins of each record. An array of numbers and an array of objects go the same way. If the application requires priced objects, check the content and allowable values separately before starting calculations.
Sources
For further detail and to check the information: