首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript json :使用键值创建新的json

javascript json :使用键值创建新的json
EN

Stack Overflow用户
提问于 2018-06-25 01:36:08
回答 2查看 46关注 0票数 -1

下面是我的输入

代码语言:javascript
复制
input= 

    [{
            "CalendarDate": "2019-10-01T00:00:00.000Z",
            "SLA": 0.01,
            "ContractBasedFlag": "Y",
            "name": "A"
        },
        {
            "CalendarDate": "2019-11-01T00:00:00.000Z",
            "SLA": 0.02,
            "ContractBasedFlag": "Y",
            "name": "B"
        },
        {
            "CalendarDate": "2019-12-01T00:00:00.000Z",
            "SLA": 0.03,
            "ContractBasedFlag": "Y",
            "name": "C"
        }
    ]

现在,如果我们查看这个输入,我需要通过拆分"CalendarDate“的值并使用"SLA”的整个值来创建一个新的json。

代码语言:javascript
复制
output= 

    [{
        "201910": 0.01
    }, {
        "201911": 0.02
    }, {
        "201912": 0.03
    }]

我试图在输入上使用reduce()函数来获取它,但仍然面临一些问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-25 01:39:37

像这样的东西

代码语言:javascript
复制
const ret = [{
    CalendarDate: '2019-10-01T00:00:00.000Z',
    SLA: 0.01,
    ContractBasedFlag: 'Y',
    name: 'A',
  },
  {
    CalendarDate: '2019-11-01T00:00:00.000Z',
    SLA: 0.02,
    ContractBasedFlag: 'Y',
    name: 'B',
  },
  {
    CalendarDate: '2019-12-01T00:00:00.000Z',
    SLA: 0.03,
    ContractBasedFlag: 'Y',
    name: 'C',
  }
].map(x => ({
  [`${x.CalendarDate.split('-')[0]}${x.CalendarDate.split('-')[1]}`]: x.SLA,
}));

console.log(ret);

票数 1
EN

Stack Overflow用户

发布于 2018-06-25 01:44:28

您可以使用map遍历数组。使用substring剪切字符串,使用replace替换字符串。

代码语言:javascript
复制
var input = [{"CalendarDate":"2019-10-01T00:00:00.000Z","SLA":0.01,"ContractBasedFlag":"Y","name":"A"},{"CalendarDate":"2019-11-01T00:00:00.000Z","SLA":0.02,"ContractBasedFlag":"Y","name":"B"},{"CalendarDate":"2019-12-01T00:00:00.000Z","SLA":0.03,"ContractBasedFlag":"Y","name":"C"}];

var result = input.map(o => ({[o.CalendarDate.substring(0, 7).replace("-", "")]: o.SLA}))

console.log(result);

文档:map()substring()replace()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51012395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档