Массив объекта с многомерным массивом - PullRequest
0 голосов
/ 21 июня 2020

я впервые использую javascript.

Я не могу вставить человека в таблицу, может ли кто-нибудь мне помочь? Итак, я хочу сделать простую функцию, в которой я могу вставить человека в таблицу, вставить имя и цену в меню с 2D-массивом и проверить, заполнена ли таблица, вы не можете вставить ее в массив объекта.

Это мой код


var d = new Date;
dformat = [d.getMonth() + 1,
    d.getDate(),
    d.getFullYear()
].join('/') + ' ' + [d.getHours(),
    d.getMinutes(),
    d.getSeconds()
].join(':');

function custDine([
    [name, price]
]) {
    this.table = new Array(5);
    this.date = dformat;
    this.menu = new Array(name, price);
}

function addCust([
    [name, price]
]) {
    customer.push(new custDine([
        [name, price]
    ]));
}

addCust([
    ["Pizza", 50000],
    ["max", 60000]
]);
console.log(customer);

the final output should be like this: 
[
    table,
    time,
    menu: [
        name,
        price
    ], [
        name,
        price
    ], [
        name,
        price
    ]
]

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Вам не нужно деструктурировать параметр menu, если вы хотите, чтобы он был установлен как array of array, потому что вы передаете его в том же формате в 'addCust':

addCust([ ["Pizza", 50000], ["max", 60000] ]) < = Array of array

var d = new Date;
const dformat = [d.getMonth() + 1,
  d.getDate(),
  d.getFullYear()
].join('/') + ' ' + [d.getHours(),
  d.getMinutes(),
  d.getSeconds()
].join(':');
const customer = [];

function custDine(menu) {
  this.table = new Array(5);
  // this.date = dformat;
  this.time = dformat;
  this.menu = menu;
}

function addCust(menu) {
  customer.push(new custDine(menu));
}

addCust([
  ["Pizza", 50000],
  ["max", 60000]
]);
console.log(customer);

Вывод:


[
  {
    table,
    time,
    menu: [
      [
        name,
        price
      ],
      [
        name,
        price
      ]
    ]
  }
]
0 голосов
/ 21 июня 2020
  let customer = []
    var d = new Date;
    dformat = [d.getMonth() + 1,
        d.getDate(),
        d.getFullYear()
    ].join('/') + ' ' + [d.getHours(),
        d.getMinutes(),
        d.getSeconds()
    ].join(':');

function custDine(menu) {
    this.table = new Array(5);
    this.date = dformat;
    this.menu = menu;
}

function addCust(items) {
    customer.push(new custDine(items));
}


addCust([
    {"item":"Pizza", "price":50000},
    {"item":"max", "price":60000}
]);
console.log(customer)

окончательный результат должен быть таким:

[
    table,
    time,
    menu: [
           {"item":"Pizza", "price":50000},
           {"item":"max", "price":60000}
    ]
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...