键,对象文字中的值映射

时间:2019-07-09 08:27:12

标签: javascript reactjs

我遇到了一个JavaScript问题

最初,来自HTTP的响应就像 /* phones (portrait and landscape) ----------- */ @media only screen and (min-width : 320px) { /* Styles */ } /* phones (portrait only) ----------- */ @media only screen and (max-width : 480px) { /* Styles */ } ,现在为了在饼图中查看此详细信息,我不得不将其转换为[...{67,90},{23,40}],但是现在我希望该饼数据再次看起来像[{x:67, y: 90}, {x:23, y:40}]

例如:

[{67,90},{23,40}]

我尝试了一些类似的事情: 1。

g = [{x: 67, y:90}, {x: 23, y:40}]

2。

Object.keys(pieData).map((item) => {
            return {
                item.x, item.y
            }
        })

必填结果为:

Object.key(Object.entries(g))

任何帮助将不胜感激。

上述问题的第二部分是“ 67”,“ 23”实际上是索引。我们可以转换数组索引号中的值之一吗?...

3 个答案:

答案 0 :(得分:2)

如果您想将x作为键并将y作为值,这就是您要寻找的。

var g = [{x: 67, y:90}, {x: 23, y:40}];
var result = g.map(item => ({[item.x]:item.y}));
console.log(result);

答案 1 :(得分:1)

您的预期输出是错误的,因为它包含不带key:value对的对象。您应该返回数组数组。使用map()并返回包含两个属性的数组。

let g = [{x: 67, y:90}, {x: 23, y:40}]
let res = g.map(({x,y}) => [x,y]);
console.log(res)

答案 2 :(得分:1)

请注意,您想要的结果g = [{67, 90}, {23, 40}]不是有效的javascript

  • 我认为您想要的是一个对象数组[{67: 90}, {23: 40}],其中x为键,y为值

要获取该信息,请在您发帖提问时使用Array.prototype.map()

代码:

const g = [{x: 67, y:90}, {x: 23, y:40}];
const result = g.map(o => ({ [o.x]: o.y }));

console.log(result);