【问题标题】:Adding to a Multidimensional Array in Javascript在 Javascript 中添加到多维数组
【发布时间】:2022-01-12 19:29:34
【问题描述】:

我有一个从 JSON Ajax 调用到我的数据库创建的多维数组。

在我的 Web 应用程序中,我尝试使用 javascript 沿以下行向数组动态添加新行:

list[new_row_id].item_id = new_value ;
list[new_id].item_title = new_title  ;

显然我做错了什么。

任何指导将不胜感激。

【问题讨论】:

  • 您也可以使用括号访问第二个维度。所以它会像list[d1][d2] = value
  • 在尝试设置.item_id = new value 之前,您是否将list[new_row_id] 设为对象?是什么让你相信你的代码不起作用?例如,您是否收到错误消息?如果是这样,是什么?请edit 将您的相关代码的最小、可运行、完整块显示为minimal reproducible example。感谢您的澄清。

标签: javascript arrays multidimensional-array add


【解决方案1】:

使用push-函数将元素添加到数组的末尾:

array.push({"item_id": 10101, "item_title": "new title"});

【讨论】:

  • 谢谢大家。非常有帮助。
【解决方案2】:

如果你的意思是 "new_id" 和 "new_row_id" 是相同的并且它不同于从 0 开始的索引,因为键是单独的数据库键,那么你可以这样解决它:

var any_db_id = 33;
var new_title = 'new title';
list[any_db_id] = {
    item_id: any_db_id,
    title: new_title
}

这将导致 JSON 看起来像这样:

{
    1: {
        item_id: 1,
        title: 'Entry coming from database 1'
    },
    5: {
        item_id: 5,
        title: 'Entry coming from database 2'
    },
    33: {
        item_id: 33,
        title: 'new title'
    }
}

如果 new_id 和 new_row_id 仍然相同,但实际上只是一个索引(每个项目都有 0、1、2 等作为 key),那么您应该使用 Virendra Katariya 的解决方案。

【讨论】:

    猜你喜欢
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 2011-02-10
    • 2014-08-08
    • 2013-03-02
    • 2018-04-12
    相关资源
    最近更新 更多