You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP变量转JS变量后循环赋值dataB仅获最后值,=+用法是否错误?

循环赋值后仅保留最后一个值的问题修复

错误原因

你完全用错了=+语法,这不是数组追加的写法:

  • =+的作用是将右侧值转为数字后赋值给变量,每次循环都会覆盖dataB的原有内容,而非追加。
  • 同时你在循环内部用var dataB重复声明变量,每次循环都会重新创建这个变量,进一步导致之前的内容丢失。

正确写法

要实现数组追加,需先在循环外初始化空数组,再用push()方法添加元素:

// 从PHP获取数据
var pointsB = <?php echo json_encode($values); ?>;
// 初始化空数组存储结果
let dataB = [];

// 遍历pointsB并填充数据
for (let i = 0; i < pointsB.length; i++) {
    dataB.push({
        "loc": [pointsB[i][1], pointsB[i][2]],
        "title": pointsB[i][0] // 若title确实需要数组形式,改为[pointsB[i][0]]即可
    });
}

补充说明

如果你的业务逻辑要求title必须是数组类型,保留"title": [pointsB[i][0]]即可;如果只是单个字符串值,直接使用pointsB[i][0]更符合数据结构合理性。

内容的提问来源于stack exchange,提问作者alb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 23:05:02