将二维数组转换为对象数组

时间:2019-02-21 09:21:39

标签: javascript arrays multidimensional-array

有没有一种简单的方法/ javascript来自动转换像这样的数组

[[7580,12.7],[6937,15]];

进入此

[{x: 12.7,y: 7580,}, {x: 15, y: 6937,}],

4 个答案:

答案 0 :(得分:1)

像这样使用mapdestructuring

const input = [[7580,12.7],[6937,15]]

const output = input.map(([y , x]) => ({ x, y }))

console.log(output)

答案 1 :(得分:1)

您可以使用Array.prototype.map()

代码:

const arr = [[7580,12.7],[6937,15]];
const result = arr.map(elem => ({
  x: elem[1],
  y: elem[0]
}));

console.log(result);

答案 2 :(得分:0)

您可以使用Array.prototype.map返回新的array,其中每个项目都是您想要的类型。

function convert(list) {
  return list.map(function(item) {
    return { x: item[1], y: item[0] };
  });
}

console.log(convert([[7580, 12.7], [6937, 15]]));

答案 3 :(得分:0)

使用map()函数并返回代表x,y值的对象,如此代码

var arr=[[7580,12.7],[6937,15]];
var result = arr.map(function(v,i){
    return obj={
        x:v[1],
        y:v[0]
    };
});
console.log(result);