javascript - swap字典将类型更改为整数

时间:2017-05-24 16:56:09

标签: javascript dictionary

所以我使用这段代码来反转字典 - 我在SO上找到了。

function g_swap_dictionary ( dict ) {
    let ret = {};
    for(var key in dict){
        ret[dict[key]] = key;
    }
    return ret;
}

但如果我有这本词典:

 [object Object] {
    0: 0,
    1: 2,
    2: 4,
    3: 1,
    4: 3
}

交换它我得到了这个:

[object Object] {
    0: "0",
    2: "1",
    4: "2",
    1: "3",
    3: "4"
}

因此值更改为字符串类型。因为我希望'g_swap_dictionary'尽可能通用 - 我该如何解决?

1 个答案:

答案 0 :(得分:3)

您可以使用unary plus +

将值转换为数字
ret[dict[key]] = +key;
//               ^



function g_swap_dictionary (dict) {
    let ret = {};
    for(var key in dict){
        ret[dict[key]] = +key;
    }
    return ret;
}

console.log(g_swap_dictionary({0: 0, 1: 2, 2: 4, 3: 1, 4: 3 }));