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']}]);
添加回答
举报