День добрый.
Мало работал Javascript, помогите с генерацией массива.
Задача: сгенерировать многомерный массив из аналогичного массива в PHP.
В PHP сделал так:
$arResult["AR_ZAPIS_LEVEL"] = array();
foreach($arResult["AR_ZAPIS"] as $item)
{
$ardate = explode(".", $item["PROPERTY_DATE_VALUE"]);
//dump($ardate);
$arResult["AR_ZAPIS_LEVEL"][$ardate[2]][$ardate[1]][$ardate[0]][$item["PROPERTY_TIME_ENUM_ID"]] = $item;
}
Для Javascript не сообразил ничего лучше, чем сделать так:
//формируем такой же массив для скрипта
ar_allzap_level = new Array();
//ar_allzap_level = new Object();
<?
foreach($arResult["AR_ZAPIS"] as $item)
{
$ardate = explode(".", $item["PROPERTY_DATE_VALUE"]);
//dump($ardate);
//формируем такой же массив для скрипта
?>
if( ar_allzap_level[<?=$ardate[2]?>] == undefined )
{
ar_allzap_level[<?=$ardate[2]?>] = new Array();
}
if( ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>] == undefined )
{
ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>] = new Array();
}
if( ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>][<?=$ardate[0]?>] == undefined )
{
ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>][<?=$ardate[0]?>] = new Array();
}
ar_allzap_level[<?=$ardate[2]?>][<?=$ardate[1]?>][<?=$ardate[0]?>].push(<?=$item["PROPERTY_TIME_ENUM_ID"]?>);
<?
}
?>
Наверняка есть вменяемый способ в пару строк, а не мой кошмар