Javascript检查数组是否包含值

时间:2016-06-27 00:22:23

标签: javascript

我有一个数字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){来修复此问题

1 个答案:

答案 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存储为整数/在设置之前将其转换为整数。