Мое мышление: Axis = n, где n = 0, 1 и т. д. означает, что матрица свертывается (складывается) вдоль этой оси. Итак, в 2D-матрице, когда вы рушитесь вдоль 0 (строк), вы действительно работаете по одному столбцу за раз. Аналогично для матриц более высокого порядка.
Это не то же самое, что нормальная ссылка на измерение в матрице, где 0 -> строка и 1 -> столбец. Аналогично для других измерений в массиве размерности N.
Вы можете использовать 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);
Если свойства всегда будут 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)