Как преобразовать массив типа объекта в обычный массив в javascript? - PullRequest
1 голос
/ 02 мая 2020

Я работаю над 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]"

Где я совершаю ошибку? Есть ли другая альтернатива для достижения этой цели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...