如何在javascript中将对象类型的数组转换为普通数组?

时间:2020-05-02 14:26:20

标签: javascript php html

我正在研究PHP,并试图将PHP数组传递给javascript代码以动态创建属性并为其设置值。

我一直在发送如下所示的PHP数组。

PHP代码

$dataArray = array();

array_push($dataArray, $ticket['tickets']);
array_push($dataArray, $pendingTicket['pending_tickets']);
array_push($dataArray, $closedTicket['closed_tickets']);

以下是PHP数组。

Array
(
    [0] => 4
    [1] => 3
    [2] => 1
)

JS代码

<script type="text/javascript">
   var jArray = <?php echo json_encode($dataArray); ?>;
   var ticketGraphData = [];
   for(var i=0; i<jArray.length; i++){
      ticketGraphData.push(jArray[i]);
   }

   alert(typeof ticketGraphData);
   console.log(ticketGraphData);

   var anchor1 = document.getElementById("firstGraph");
   var anchor2 = document.getElementById("secondGraph");
   var att1 = document.createAttribute("data-values");
   var att2 = document.createAttribute("data-values");

   att1.value = ticketGraphData;
   anchor1.setAttributeNode(att1);

   att2.value = ticketGraphData;
   anchor2.setAttributeNode(att2);
</script>

我想将ticketGraphData的值传递为[4,3,1]。 但是在这里,当我尝试控制台数据并返回警报时,它在警报中显示Object并在控制台中显示以下数据。

enter image description here

将数据设置为attribute之后,看起来像

data-values="4,3,1"

但是我想把它们做成

data-values="[4,3,1]"

哪里做错了?还有其他替代方法可以实现这一目标吗?

0 个答案:

没有答案