【问题标题】:nodejs How can I create multidimensional array?nodejs 如何创建多维数组?
【发布时间】:2018-01-02 01:44:25
【问题描述】:

如何在 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
                } );

【问题讨论】:

    标签: arrays node.js multidimensional-array


    【解决方案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.xobjectOfObjects['b']['x'] 相同,但更短。通常在变量中有键名时使用括号语法,如下所示:

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

    【讨论】:

    • 所以没有键=>值对?
    • @AMB 没有,key => value 对在 Perl 中 - 请参阅:perldoc perldata。在 JavaScript 中,这些对是 key: value,就像我回答的示例中的 { x: 1, y: 2 } 一样。 JavaScript 中的=> 是所谓的“胖箭头”,它是一个创建箭头函数的运算符,请参阅 MDN 上的Arrow functions
    【解决方案2】:

    看我的小例子:

    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]);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 2011-08-19
      相关资源
      最近更新 更多