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

如何将Ajax返回的对象数组转换为整数类型的数组的数组

解决方案

你的核心问题是没有正确解析Ajax返回的JSON数据,且未按需求提取对象中的数值转换为二维整数数组,以下是修正后的实现:

关键问题分析

  • Ajax返回的是JSON格式的对象数组字符串,但你直接将其当作普通字符串执行split(","),完全不符合数据结构逻辑
  • 未将对象中的数值属性提取并转换为整数类型

修正后的代码

var bookedSeats = [];
$.ajax({
    url: 'public/get-show_booked-table.php',
    type: "post",
    // 改用对象传递参数,避免字符串拼接的潜在错误
    data: {
        show_id: showId,
        ticket_class_id: cleassId,
        schedule_id: schedule_id,
        organizer_id: org_id,
        booking_date: show_booking_date
    },
    // 指定返回数据类型为JSON,jQuery会自动解析为对象数组
    dataType: 'json',
    success: function (result) {
        // 遍历对象数组,提取每个对象的行列值并转为整数,组成二维数组
        // 请根据实际返回的对象属性名(如seat_row、seat_column)调整键名
        bookedSeats = result.map(item => [
            parseInt(item.seat_row, 10),
            parseInt(item.seat_column, 10)
        ]);
        console.log(bookedSeats); // 此时已得到整数类型的二维数组
    },
    error: function (xhr, status, error) {
        console.error(xhr);
    }
});

额外说明

  1. 如果后端未正确设置响应头Content-Type: application/json,可以手动解析数据:
    将success函数中的result替换为JSON.parse(result)即可
  2. parseInt的第二个参数10必须添加,确保以十进制解析数值,避免意外的八进制解析问题

内容的提问来源于stack exchange,提问作者Shivendra Kr. Sahu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:27:30