动态创建多维javascript对象

时间:2018-12-08 14:08:27

标签: javascript laravel-5 multidimensional-array javascript-objects

请我一直在努力从多个来源动态创建javascript多维对象,包括3个月的PHP数组和以下其他变量:

我已经阅读了一些教程,并编写了以下代码,但仍然出现错误:

 <script type='text/javascript'>
 var chart_data={};
 </script>



 @foreach($chart_data as $mth => $data)
        <script type="text/javascript">
            chart_data={'months':{"{{$month}}":"data":{!!json_encode($data['data'])!!}}};
            chart_data={'months':{"{{$month}}":'ykeys':{!!json_encode($data['ykeys'])!!}}};
            chart_data={'months':{"{{$month}}":'labels':{!!json_encode($data['labels'])!!}}};
            var chart_bar_colors={!!json_encode($chart_bar_colors)!!};
        </script>
        @endforeach

我在控制台中不断收到以下错误:

  

未捕获的SyntaxError:意外令牌:

在检查开发人员工具的来源时,我还会看到以下错误: The error from source in Chrome developer tools

我正在尝试构建如下的js数据结构:

chart_data['months']['Oct']['data']['some data here']
chart_data['months']['Oct']['ykeys']['some data here']
chart_data['months']['Oct']['labels']['some data here']
chart_data['months']['Nov']['data']['some data here']
chart_data['months']['Nov']['ykeys']['some data here']
chart_data['months']['Nov']['labels']['some data here']
chart_data['months']['Dec']['data']['some data here']
chart_data['months']['Dec']['ykeys']['some data here']
chart_data['months']['Dec']['labels']['some data here']

请您提供指导,以解决此问题 谢谢大家

1 个答案:

答案 0 :(得分:1)

<script type='text/javascript'>
    var chart_data={
        'month' : {},
    };

    @foreach($chart_data as $mth => $data)

    chart_data.month['{{ $mth }}'] = {
        'data' : {!!json_encode($data['data'])!!} ,
        'ykeys' : {!!json_encode($data['ykeys'])!!} ,
        'labels' : {!!json_encode($data['labels'])!!} ,
    }

    @endforeach
</script>