Javascript检查数组是否包含值

Javascript check if array contains value

本文关键字:包含值 是否 数组 检查 Javascript      更新时间:2023-09-26

我有一个数字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');
      }

如果我将if(ListIds.indexOf(myId)>=0)更改为if(ListIds.indexOf(33)>=0),它可以工作…

+添加到if(ListIds.indexOf(+myId)>=0){

@Rohit Shedage的猜测是正确的。

你这里的问题是,userProfileID2_class是一个字符串值,通过做+myId的字符串类型,javascript引擎将自动转换字符串到一个整数,然后再应用indexOf到它。

您可能需要考虑解决根本问题。也就是说,将Id存储为整数/在设置之前将其转换为整数。