Поведение массивов как в PHP на JS или JQUERY?
А в чем собственно проблема? Код ниже вполне работоспособен:arr = {}
arr['window'] = {}
arr['window']['settings'] = {}
arr['window']['settings']['key'] = 123

// и так можно

arr = { window: { settings: { key: 123 } } }
однако простой JS не позволяет так делать, возможно есть какие-либо библиотеки для этого или функция
Вполне себе позволяет, только используются для этого не массивы, а объекты
Объекты надо инициировать заранее, то есть в существующий объект можно добавить новый ключ, но если объект не существует, то и добавлять этот ключ некуда.
Пример://у нас есть пустой объект array = {}
//Мы делаем следующее:
array['window']['settings'] = { key: value };
//На деле происходит все так:
{
let temp = array['window']; // undefined
temp['settings'] = { key: value }; // Ошибка, у undefined не может быть полей
}
Формально и это можно обойти с помощью Proxy (не работает и никак не полифилится в старых браузерах, все ie а так же safari ниже 10 сразу отпадают)
Но делать так не хорошо, ибо в такой реализации если мы запросимarray['window']['settings']['other_key'], то получим пустой объект, хотя ожидается undefined
Если Вас это не останавливает, могу накидать простенькую реализацию, дабы Вы сами смогли наступить на грабли плохого кода и научится на собственных ошибках