昨天在工作中遇到一个问题:数组的indexOf()方法在IE8中无效。

如以下代码在IE8中报错“对象不支持“indexOf”属性或方法”:

var arr = [1,2,3];

var index = arr.indexOf(3);

解决方法1:在调用的indexOf方法前加上toString()将数组转换为字符串,再调用indexOf(),但是这时又发现3的index并不是我们预期的2,而是4,因为转换为字符串之后是"1,2,3",在查index的时候把逗号也算进去的了,显然这也不是我们想要的结果。只是说在判断一个对象a是否包含在某个数组arr中的时候,可以用arr.toString().indexOf(a)!=-1来判断,但是若是要查找a对象在数组arr中的准确index的时候,这种方法就不行了。

解决方法2:使用Jquery框架的$.inArray(查找对象,查找数组)。

使用此方法就能够获取对象在数组中的准确index,但是一定要注意数据类型,在调用这个方法的时候,Jquery不会去自动转换类型,查找对象 和 查找数组中的数据对象都需要是相同的类型才行,不然查到的结果就是-1

以上方法1是同事给我想的办法,因为当时的需求就只是判断对象是否在数组中,就使用了他介绍的方法1;方法2就是我上网查到的,建议用方法2。当然,indexOf对于数组来说,在IE9及以上、webkit内核的浏览器都是可以使用的,如果要兼容IE8,就需要使用到以上介绍的解决方法了。

最新文章

  1. iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
  2. fir.im Weekly - 从零开始,搭建理想的直播平台
  3. java中的异常理解
  4. js生成当前时间
  5. class && struct
  6. ip routing&no ip routing
  7. 如何抠PSD素材中的图片
  8. github创建repo,本地导入git项目到github
  9. 仿it快播顶部button点击背景滑动切换的效果
  10. 初学时的shell
  11. RHCE 基础学习
  12. tomcat下部署activemq(转)
  13. Bootstrap环境及屏幕适配-(一)
  14. MyBatis 开发记录
  15. ChIP-seq 核心分析 下游分析
  16. 浅析Android Dialog中setContentView()方法
  17. sun.misc.BASE64Encoder图片编码,并在页面显示
  18. Python中fileinput模块使用方法
  19. weblogic——服务器搭建与配置
  20. FPGA中的时序分析(三)

热门文章

  1. A喝酒(北京林业大学校赛)
  2. Windows下VMware虚拟机使用Centos,Docker方式安装openstf的小坑
  3. MYSQL进阶学习笔记十:MySQL慢查询!(视频序号:进阶_23-24)
  4. MYSQL初级学习笔记二:数据表相关操作及MySQL存储引擎!(视频序号:初级_5,7-22|6)
  5. codeforces 433C. Ryouko's Memory Note 解题报告
  6. oracle:rman恢复----通过增量备份来恢复
  7. Oracle:varchar2、nvarchar2 字段类型的区别
  8. I.MX6 按键开关机 PMIC 检测
  9. [POI 2014] Little Bird
  10. LOG.ZS.0001.基于Freetype的游戏字体渲染优化思路