2 回答

TA貢獻1777條經驗 獲得超3個贊
嘗試這個:
<script type="text/javascript">
let arr=[];
</script>
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
</script>
{/foreach}
<script type="text/javascript">
console.log(arr);
</script>
首先:聲明一個數組變量,不要在循環中聲明一個變量,因為你的代碼會出錯:
<script type="text/javascript">
let arr=[];
</script>
第二:把你的循環代碼,然后把循環值放在你之前聲明的數組變量中:
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
</script>
{/foreach}
(可選)最后:如果你想顯示你所有的數組變量值,你可以在循環下面添加 console.log,不要把 console.log 放在循環中,如果你把你的 console.log 放在循環中那么你只會看到最后的循環值:
<script type="text/javascript">
console.log(arr);
</script>

TA貢獻1869條經驗 獲得超4個贊
** 解決了 **
向量聲明應該在 Smarty 循環之外!
我不得不改為聲明一個向量。
將每個元素推入 Smarty 循環中。
arrayPos.push([{$car_pos['longitude']}, {$car_pos['latitude']}]);
添加回答
舉報