2017-07-26 401 views
0

如何在nodejs中创建多维数组?并在其中推送数据?nodejs如何创建多维数组?

我怎样才能得到一个老式的数组的数组里面,像这样:

array{ sub_array1[(key1, value1)(key2,value2)],sub_array2[(key1, value1)(key2,value2)]} 

到目前为止,我已经试过很多的组合:

array.push() 

okie,根据回答rsp。, 我设法得到它这样的

out_array.push({ 'key1' :value1, 
        'key2' : value2 , 
        'key3': value3, 
        'key4': value4, 
        'key5': value5 
       }); 

回答

1

JavaScript中没有严格意义上的多维数组,但您可以创建一个具有其他数组作为元素的数组。与对象相同 - 我添加它,因为它似乎是你想要的是对象而不是数组,或者可能是与对象和数组的混合结构。

let arrayOfArrays = [[1, 2, 3], ['x', 'y', 'z']]; 
let objectOfObjects = { a: { x: 1, y: 2 }, b: { x: 3, y: 4 } }; 
let arrayOfObjects = [{ x: 1, y: 2 }, { x: 3, y: 4 }]; 
let objectOfArrays = { a: [1, 2, 3], b: ['x', 'y', 'z'] }; 

您访问内容是这样的:

arrayOfArrays[1][2] === 'z'; 
objectOfObjects.b.x === 3; 
arrayOfObjects[1].y === 4; 
objectOfArrays.a[2] === 3; 

注意objectOfObjects.b.x相同objectOfObjects['b']['x']但较短。通常当你有钥匙名使用括号语法中的变量,就像这样:

let key1 = 'b'; 
let key2 = 'x'; 
objectOfObjects[key1][key2] === objectOfObjects.b.x; 
+0

所以没有键=>值对? – AMB

+1

@AMB否,'key => value'对在Perl中 - 请参阅:[perldoc perldata](https://perldoc.perl.org/perldata.html)。在JavaScript中,对在我的答案中的示例中是'key:value',如'{x:1,y:2}'中的。 JavaScript中的'=>'是一个所谓的“胖箭头”,它是创建箭头函数的操作符,请参阅[箭头函数](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/函数/ Arrow_functions)在MDN上。 – rsp

0

看看我的小examle:

let obj = { 
    foo: [1, 2, 3, 4, 5, 6] 
}; 

Object.assign(obj, { 
    bar: true 
}); 
console.log(obj); 

obj.foo.push(7); 
console.log(obj); 

for (var key in obj) { 
    console.log(key + '=' + obj[key]); 
}