Java脚本键值对对象

时间:2019-05-29 16:39:18

标签: javascript reactjs

我是javascript新手。我有以下格式的数据数组:

Toronto, Ontario: 95 
Markham, Ontario: 71

我想将其转换为对象数组:

enter image description here如此,以与其他功能保持一致。

我尝试过:

reportData.fbcity = Object.keys(reportData.city).map((city) => {
    return {
        city: city,
        value: reportData.city[city]
    };
});

我得到的是: {city:“安大略省万锦市”:“值”:71}

3 个答案:

答案 0 :(得分:1)

根据您更新的问题,我认为您有这个问题:

const start = ["Toronto, Ontario: 95", "Markham, Ontario: 71"];

,您想要这个:

result = [
    {"Toronto, Ontario": 95},
    {"Markham, Ontario": 71}
];

为此,您需要将字符串末尾的数字分开,然后使用字符串的两部分来构建对象。如果您知道只有一个:,那么:

const result = start.map(str => {
    const [city, number] = str.split(":");
    return {
        [city]: +number
    };
});

实时示例:

const start = ["Toronto, Ontario: 95", "Markham, Ontario: 71"];
const result = start.map(str => {
    const [city, number] = str.split(":");
    return {
        [city]: +number
    };
});
console.log(result);

使用解构从split捕获两个部分,然后使用计算的属性名称创建具有城市名称的属性,并使用+强制数字从字符串转换为数字。 (这只是您的数字转字符串选项之一,有关更多选项,请参见this answer。)

答案 1 :(得分:0)

reportData.fbcity = Object.keys(reportData.city).map((city) => {
    return {
        [city]: reportData.city[city]
    };
})

答案 2 :(得分:0)

您可以使用user_sourcemap

  • split分割,然后构建一个对象
  • :用于将字符串转换为数字

+