我正在循环一个数组,其中有一些来自 db 的数据。我想使用 JavaScript 将这些值保存在一个数组中。我希望数组保持其内容,因此当我在另一个脚本标记中使用它时,它仍然具有其值。我真的被困住了。
{foreach from=$car_owner item=car_pos}
<script type="text/javascript">
arr = [
[{$car_pos['longitude']}, {$car_pos['latitude']}]
];
console.log(arr);
</script>
{/foreach}
我写的代码将值保存在两个不同的数组中(因为$car_owner
数组有两个来自 db 的索引),我不希望它发生。当我在另一个脚本标签中输出数组时,它只显示数组中保存的最后一个索引,而不是整个内容。
试试这个:
<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>
第二:把你的 lopping 代码,然后把循环值放在你之前声明的数组变量中:
{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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句