鍍金池/ 問答/數(shù)據(jù)分析&挖掘  網(wǎng)絡安全  HTML/ 資料處理牛人請進, js分類資料問題(lodash)

資料處理牛人請進, js分類資料問題(lodash)

{
            "category": {
                "sum": 34,
                "long_1": "odd",
                "long_2": "odd",
                "long_3": "even",
                "long_4": "odd",
                "long_5": "odd",
                "size_1": "bigger",
                "size_2": "bigger",
                "size_3": "bigger",
                "size_4": "bigger",
                "size_5": "bigger",
                "GD_1_5": "G",
                "sum_long": "even",
                "sum_size": "bigger",
                "weird_1_3": "straight",
                "weird_2_4": "half_straight",
                "weird_3_5": "pair"
            },
            "str": "7,9,8,5,5"
        },

想用lodash 把它變成這樣

[
  0:{
    long: odd,
    size: bigger,
    num: 7,
  },
  1:{
    long: odd,
    size: bigger,
    num: 9,
  },
  2:{
    long: even,
    size: bigger,
    num: 8,
  },
  3:{
    long: odd,
    size: bigger,
    num: 8,
  },
  4:{
    long: odd,
    size: bigger,
    num: 5,
  }
]

但著實沒有任何頭緒呀... 想請各位大神救救小弟了

回答
編輯回答
吃藕丑

不知道你要lodash何用?

var data = {
    "category": {
        "sum": 34,
        "long_1": "odd",
        "long_2": "odd",
        "long_3": "even",
        "long_4": "odd",
        "long_5": "odd",
        "size_1": "bigger",
        "size_2": "bigger",
        "size_3": "bigger",
        "size_4": "bigger",
        "size_5": "bigger",
        "GD_1_5": "G",
        "sum_long": "even",
        "sum_size": "bigger",
        "weird_1_3": "straight",
        "weird_2_4": "half_straight",
        "weird_3_5": "pair"
    },
    "str": "7,9,8,5,5"
}

var result = data.str.match(/\d+/g).map((num, i) => ({
    long: data.category[`long_${i + 1}`],
    size: data.category[`size_${i+1}`],
    num
}))

console.log(result)

clipboard.png

2017年4月3日 09:37
編輯回答
情皺
const obj = JSON.parse(str)
const {category, str} = obj


let result = str.split(',').map((v, i) =>({
    long: category[`long_${i+1}`],
    size: category[`size_${i+1}`],
    num: v
}))
2017年9月9日 09:31