开发者问题收集

无法将数据分配给 javascript 中数组的特定索引

2020-02-29
130
let new_json = {
  sessions: []
};

new_json.sessions[0]["timing"] = []

错误:

VM73:1 Uncaught TypeError: Cannot set property 'timing' of undefined
    at <anonymous>:1:32
(anonymous) @ VM73:1

在这里,我试图将数据添加到数组的一个索引中

但是,执行此操作时出现上述错误。

有什么办法吗?

请看一下

3个回答

首先在第 0 个位置初始化对象,然后像这样添加值

new_json.sessions[0] = {};
new_json.sessions[0]["timing"] = []
Mujibur Rehman Ansari
2020-02-29

您可以通过将具有 timing 属性的新对象推送到 sessions 数组中来实现此目的,

let new_json = { sessions: [] };

new_json.sessions.push({ timing: [] })
console.log(new_json.sessions)
palaѕн
2020-02-29

这将有效:

new_json.sessions[0] = {timing: []>

在 JavaScript 中,您可以根据需要设置数组中任意索引的值。但您无法分配任意索引处未分配值的属性,正如您的代码尝试做的那样。这是 访问 索引处的值,而不是设置值。

Henry Mueller
2020-02-29