我正在学习ES6 Destructuring,并尝试找出将2个数字作为元素(例如x和y坐标)的嵌套数组转换为仅使用解构的对象数组的不同方法。
const points = [
[4, 5],
[3, 12],
[9, 30]
]
// goal: transfer to this format:
// [
// {},
// {},
// {}
// ]
一个(可能)最好的解决方案:
points.map(([ x, y ]) => {
return { x, y };
});
另一次尝试:
points.map(pair => {
const x = pair[0],
const y = pair[1]
});
// Uncaught SyntaxError: Unexpected token const
为什么我在这里得到一个SyntaxError?
使用:
points.map(pair => {
const [ x, y ] = pair;
});
我得到一个包含3个未定义元素的数组。为什么呢?
答案 0 :(得分:0)
在一行中,返回是自动的。
<强>一:强>
points.map(([ x, y ]) => ({ x, y }));
<强>两个强>
points.map(pair => ({x: pair[0], y: pair[1]}));
或多行:
points.map(pair => {
const x = pair[0];
const y = pair[1];
return {x, y};
});
三:
points.map(pair => {
const [ x, y ] = pair;
});