目前我收到了带对象的JSON。每个对象有4个字符串,包含3个数字。我需要从这些数字构造一个大数字。例如,如果数字是“111”,“222”,“333”和“444”,则数字应为1112222333444.由于我需要=== 1112222333444为真,我不能进行直接字符串连接,因为结果不会是整数。将此JSON转换为仅包含连接整数的数字的最快选择是什么?如果它们是零,我也想忽略前5-6位数。
答案 0 :(得分:3)
您可以将它们连接起来,然后将它们转换为数字
Number("111" + "222" + "333" + "444") === 111222333444 // true
或更短
+("111" + "222" + "333" + "444") === 111222333444 // true
如果某些组为零,这甚至有效,因为Number或“+”只是将String解释为数字并且不进行任何解析(与parseInt相反,如果没有基数,它将解析“010”为8)给定,因为它将前导零的数字解释为八进制。还有其他一些差异)
答案 1 :(得分:1)
var str = str1 + str2 + str3 + str4;
var result = Number(str);
这样就可以将字符串解析为数字类型。它还会丢弃前导零。