【问题标题】:How to insert multiple values to single key in javascript如何在javascript中向单个键插入多个值
【发布时间】:2018-08-04 05:08:27
【问题描述】:

我有一个对象数组var codropsEvents={[date1]:['event1'],[date2]:['event2'}; 我想向 event1 插入多个值,即 {[date1]:['event1','event2'],..} 我使用以下代码

<?php 
    $da=[];
    $qry="select * from events";
    $ex=mysqli_query($con,$qry);
    while($row=mysqli_fetch_assoc($ex))
    {
        $timestamp = strtotime($row['date']);
        $date= date('m-d-Y', $timestamp);
        $event=$row['event'];
        $da[]=$date;

        $eve[]=$event;


    }
    ?>
<script type="text/javascript">
        var a=<?php echo(json_encode($da)); ?>;
        var ev=  <?php echo(json_encode($eve)); ?>;
        var codropsEvents ={};
        for(var i=0;i<a.length;i++)
        {

            codropsEvents[a[i]] = '<span>'+[ev[i]]+'</span>';

        }

        </script>

但是使用这段代码我得到了这样的东西,

var codropsEvents={[date1]:[event1],[date1]:[event2]}

但我需要一个键中具有相同日期的所有事件是{[date1]:['event1','event2',..],[date2]:[''event3','event4'..],..};

任何人都可以帮助我

【问题讨论】:

  • var events = &lt;?php echo json_encode($events); ?&gt;;?无论您的原始结构是什么,您都可以对其进行 JSON 编码并将其直接分配给变量。如果这不是您想要的,那您根本不清楚您在问什么。
  • 对不起,我没找到你
  • 布拉德说看起来你的数据结构是由你的 PHP 控制的。因此,显而易见的解决方案是修改 PHP,很遗憾您没有向我们展示。
  • 我编辑了问题中的代码。请检查并帮助我

标签: javascript php arrays object


【解决方案1】:

你需要检查对象中是否存在key,如果不存在则用空数组初始化。然后将元素压入数组中。

<script type="text/javascript">
    var a=<?php echo(json_encode($da)); ?>;
    var ev=  <?php echo(json_encode($eve)); ?>;
    var codropsEvents ={};
    for(var i=0;i<a.length;i++)
    {

        if (!codropsEvents[a[i]]) {
            codropsEvents[a[i]] = [];
        }
        codropsEvents[a[i]].push('<span>'+[ev[i]]+'</span>');

    }

</script>   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-20
    • 2015-07-28
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 2022-01-19
    • 2021-08-14
    • 2023-03-29
    相关资源
    最近更新 更多