javascript将int值解析为int
问题描述:
我有一个对象数组,并且有可能包含整数或字符串的属性id
。我正在使用该属性进行比较,但现在我猜测,如果始终将整数转换为整数id
(即使它是整数)或询问它是否为字符串并将其转换,效率会更高。我的意思是这样的:javascript将int值解析为int
let myArray = [{id: 1, ...otherprops}, {id: 2, ...otherprops}, {id: '3', ...otherprops}, {id: '4', ...otherprops}];
这是更有效的...
for (let x of myArray) {
if (parseInt(x.id, 10) === 3) {
...
}
}
或者验证码:
for (let x of myArray) {
let id = -1;
if (typeof x.id === 'string') {
id = parseInt(x.id, 10);
}
if (id === 3) { ... }
}
因为第一代码转换总是我不知道,如果两个条件更好。
答
如果您知道,您只有数字或弦乐号码,那么您可以将unary plus +
转换为数字,但不会更改数字。
var id = +x.id;
+0
就是这样,它解决了这个问题......我不知道......谢谢 – assembler
@Bian Goole - [tag:parsing]标签与字符串转换为数字类型无关;请在添加标签之前阅读标签的预期用途...... –
@DavidBowling我很欣赏您的评论,这是我发现的一种快速解决方案。我现在正在阅读你的建议。 – assembler