我有一个数字ListIds
的数组,我想检查它是否包含我的用户ID myId
但是由于一些奇怪的原因,它会继续no match
返回我的所有内容在这里做错了吗?
var ListIds = object.ListFolowers; // = 33,34,35
var myId = userProfileID2_class; // = 33
if(ListIds.indexOf(myId)>=0){
debug_log('Value exist');
} else {
debug_log('no match');
}
ps如果我将if(ListIds.indexOf(myId)>=0)
更改为if(ListIds.indexOf(33)>=0)
则可行...
通过向+
if(ListIds.indexOf(+myId)>=0){
来修复此问题
答案 0 :(得分:1)
@Rohit Shedage的猜测是正确的。
这里的问题是userProfileID2_class
是一个字符串值,通过对字符串类型执行+myId
,javascript引擎会在将indexOf
应用到import java.util.Scanner ;
public class ProcessNumbers
{
public static void main( String[] args )
{
Scanner in = new Scanner(System.in) ;
System.out.print("Please enter an integer between 6 and 12, inclusive: ") ;
int num = in.nextInt() ;
boolean result = shouldProcess(num);
String result1 = String.valueOf(result) ;
}
public static boolean shouldProcess(int n)
{
if (n>=6 && n<12)
{
return true;
}
else
{
return false;
}
}
public static boolean processInput(boolean result2)
{
if (result2 == true)
{
System.out.println("Yes") ;
}
else
{
System.out.println("No") ;
}
return result2 ;
}
}
之前自动将字符串转换为整数它
您可能需要考虑修复根问题原因。也就是说,将您的Id存储为整数/在设置之前将其转换为整数。