如何插入数组多维javascript

时间:2016-11-18 06:39:55

标签: javascript arrays multidimensional-array

我有一些数组,我想插入动态多维数组



{{1}}




为什么这样的错误" TypeError:multi [group]未定义"

2 个答案:

答案 0 :(得分:4)

您正在尝试使数组像对象一样。如果你想使你的代码工作,那么你应该像:

var multi = {};
var group = 'fruit';
var fruit_name = 'apple';

multi[group] = {};
multi[group][fruit_name] = [];
multi[group][fruit_name].push({'berbiji' : 'ya', 'panen' : '3tahun'});

答案 1 :(得分:0)

键的名称(' fruit' apple')不是数字,因此它不是矩阵(数组数组),而是一组嵌套对象。

嵌套数组(键是数字):

multiArray = [[
  {'berbiji' : 'ya', 'panen' : '3tahun'}]]
]]
multiArray[0][0].panen === '3tahun' // true

嵌套对象(键是字符串):

multiObject = {
  fruit: {
    apple: {'berbiji' : 'ya', 'panen' : '3tahun'}
  }
}
multiArray[group][fruit_name].panen === '3tahun' // true

无论哪种方式,都需要先启动嵌套对象或数组,然后才能为键赋值。

按照你的例子:

var multi = {}
var group = 'fruit'
var fruit_name = 'apple';
multi[group] = {} // same as multi.fruit = {}
multi[group][fruit_name] = {'berbiji' : 'ya', 'panen' : '3tahun'}
multi.fruit.apple.panen === '3tahun' // true