我正在尝试定义一个以这种方式工作的数组:
myArray[0] = 'Volkswagen'
myArray[0][0] = 'Crossfox'
myArray[1] = 'Ford'
myArray[1][0] = 'Focus'
我可以手工完成,但当然不是这样做的。 我有一个简单的数组:
arrayVolks = ['Crossfox', 'Up', 'Golf'];
arrayVolks[name] = 'Volkswagen';
我的问题是我不知道如何使用数组 的名称创建第一个数组,然后然后添加 数组。
我在想这样的方式:
var myArray = [ arrayVolks[name]: {arrayVolks} ]
(紧接着它的代码更像是伪代码而不是实际的javascript)
有可能吗?
谢谢你
答案 0 :(得分:1)
你无法在javascript中创建这样的数组:
myArray[0] = 'Volkswagen'
myArray[0][0] = 'Crossfox'
myArray[1] = 'Ford'
myArray[1][0] = 'Focus'
如何使用Object
呢?
var obj = {};
obj['Volkswagen'] = ['Crossfox', 'Up', 'Golf'];
obj['Ford'] = ['Focus'];
// get all brands
console.log(Object.keys(obj));
// print all "Volkswagen"
console.log(obj['Volkswagen']);
console.log(obj.Volskwagen);
答案 1 :(得分:1)
锯齿状数组是一个数组数组。
通过执行myArray[0] = 'Volkswagen'
,您将根数组的第一个元素设置为字符串,因此您已经违反了该结构。
备用数据结构可能会更好,但是如果你希望有一个锯齿状数组,你可以定义一个结构,其中每个嵌套数组的第一个元素是make,而其他元素将是模型。
var cars = [
['Volkswagen', 'Crossfox'],
['Ford', 'Focus']
];
console.log(cars[0][0]); //Volkswagen
console.log(cars[0][1]); //Crossfox