javascript将int值解析为int

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) { ... } 
} 

因为第一代码转换总是我不知道,如果两个条件更好。

+0

@Bian Goole - [tag:parsing]标签与字符串转换为数字类型无关;请在添加标签之前阅读标签的预期用途...... –

+0

@DavidBowling我很欣赏您的评论,这是我发现的一种快速解决方案。我现在正在阅读你的建议。 – assembler

如果您知道,您只有数字或弦乐号码,那么您可以将unary plus +转换为数字,但不会更改数字。

var id = +x.id; 
+0

就是这样,它解决了这个问题......我不知道......谢谢 – assembler