Сопоставление объектов Javascript «один к одному» (встроенная функция?)

Мое мышление: Axis = n, где n = 0, 1 и т. д. означает, что матрица свертывается (складывается) вдоль этой оси. Итак, в 2D-матрице, когда вы рушитесь вдоль 0 (строк), вы действительно работаете по одному столбцу за раз. Аналогично для матриц более высокого порядка.

Это не то же самое, что нормальная ссылка на измерение в матрице, где 0 -> строка и 1 -> столбец. Аналогично для других измерений в массиве размерности N.

1
задан adiga 28 March 2019 в 09:55
поделиться

2 ответа

Вы можете использовать Array Destructuring, чтобы извлечь значения и заменить их именованными свойствами в возвращаемом объекте.

data.map(([name, height, weight, zone]) => ({name, height, weight, zone}));

let data = [['Luke Skywalker', 123, 112, 'B'], ['Jawa', 12, 8, 'B'], ['Hutt', 200, 999, 'C']],

result = data.map(([name, height, weight, zone]) => ({name, height, weight, zone}));


console.log(r);

0
ответ дан zfrisch 28 March 2019 в 09:55
поделиться

Если свойства всегда будут name, height, weight и amp; zone, затем вы можете использовать Разрушение массива , чтобы применить имя заполнителя , а сохранить его значение в пределах map.

const data = [['Luke Skywalker', 123, 112, 'B'], ['Jawa', 12, 8, 'B'], ['Hutt', 200, 999, 'C']];

const stats = data.map(([name, height, weight, zone]) => ({
  name, 
  height, 
  weight, 
  zone
}))

console.log(stats)

РЕДАКТИРОВАТЬ Основано на сценарии на GAS. Здесь тот же подход, но es5.

var data = [['Luke Skywalker', 123, 112, 'B'], ['Jawa', 12, 8, 'B'], ['Hutt', 200, 999, 'C']];

var stats = data.map(function(dataArray) {
  return {
    name: dataArray[0], 
    height: dataArray[1], 
    weight: dataArray[2], 
    zone: dataArray[3]
  }
})

console.log(stats)

0
ответ дан Francis Leigh 28 March 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: