从嵌套的数字数组转换为自定义对象



我有一个嵌套的数字数组,我正试图将其转换为具有x、y、z值的对象数组。

我有以下数据

[ 
[1, 2, 3],
[2, 3, 4], 
[4, 5, 6]
]

我的预期输出是类似于这个

[ 
{ x: 1, y: 2, z: 3 }, 
{ x: 2, y: 3, z: 4 }, 
{ x: 4, y: 5, z: 6 } 
]

我已经这样做了,但我不认为这是一个标准的解决方案。有人能提出更好的方法吗?

data.map((point, i) => {
return {
x: point[0],
y: point[1],
z: point[2],
}
})

没有比这更好的方法了。map()是您需要的。

但是,您可以(可以说)通过使用数组析构函数并省略显式返回语句来提高代码的可读性/简洁性。请注意,我还使用了增强的对象文字。

const input = [ 
[1, 2, 3],
[2, 3, 4], 
[4, 5, 6]
]
const output = input.map(([x, y, z]) => ({x, y, z}));
console.log(output);
.as-console-wrapper { max-height: 100% !important; top: 0; }

使用这种方法,结果很明显,因此我更喜欢这种方法,但同样,你的解决方案非常好。

这也可以。正在使用数组析构函数。这会进一步清洁您的解决方案。

const data = [
[1, 2, 3],
[2, 3, 4],
[4, 5, 6]
]
const output = data.map(([x, y, z]) => ({x, y, z}))
console.log(output)

最新更新