`
kevin-qingzhan
  • 浏览: 84818 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在IE使用javascript 数组的indexOf

阅读更多
最近在使用javascript数组时,为了获取数组中元素的索引,使用了indexOf.在firefox中调试ok,但是放到ie中,总是出错,无法执行。查查资料,发现原来在ie中不支持indexOf。如果要使用,需要插入下面的一段代码:


if(!Array.indexOf)
{
    Array.prototype.indexOf = function(obj)
    {               
        for(var i=0; i<this.length; i++)
        {
            if(this[i]==obj)
            {
                return i;
            }
        }
        return -1;
    }
}

例如:
var   a=new   Array( 'morning', 'lunch', 'afternoon', 'night');
var flag_inout = 'lunch'
//for ie can't support indexof
if(!Array.indexOf){
            Array.prototype.indexOf = function(obj){
                for(var i=0; i<this.length; i++){
                    if(this[i]==obj){
                        return i;
                    }
                }
                return -1;
            }
        }

var index_id = a.indexOf(flag_inout);
分享到:
评论

相关推荐

    JavaScript从数组的indexOf()深化之Object的Property机制_.docx

    本文介绍了JavaScript中数组的`indexOf()`方法及其在不同浏览器中的兼容性解决方案,并深入探讨了JavaScript对象的属性机制以及如何通过`call`和`apply`方法实现类似继承的功能。掌握这些核心概念对于JavaScript...

    JavaScript从数组的indexOf()深入之Object的Property机制

    在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法。数组是继承自Object的原型,并且他对typeof没有...比如IE8以下的浏览器不支持Array的indexOf方法,为了让数组支持indexOf,我

    终于解决了IE8不支持数组的indexOf方法

    在标题和描述中提到的bug,就是由于在IE8环境下尝试使用`indexOf`方法而引发的JavaScript错误。 `indexOf`方法的工作原理是这样的:当你在一个数组上调用`indexOf`并传入一个值作为参数,它会返回该值在数组中的第...

    JavaScript数组常用操作技巧汇总

    JavaScript数组是编程中常见且重要的数据结构,尤其在前端开发中扮演着不可或缺的角色。这篇文章将汇总JavaScript数组的一些常用操作技巧,帮助开发者更好地理解和利用数组功能解决问题。 ### 一、数组的性质 在...

    javascript数组去重3种方法的性能测试与比较

    值得注意的是,JavaScript的`Array.prototype.indexOf`方法在某些早期浏览器中可能存在兼容性问题,因此在实际应用中,可以考虑使用ES6的Set数据结构或者使用`Array.prototype.includes`方法来进行去重,这两个方法...

    javascript数组去重的六种方法汇总

    这使得即使在较老的浏览器中,也可以使用indexOf来实现去重逻辑。 6. 方法六:多重循环去重 该方法通过双重循环,对于数组中的每一个元素,与之后的元素进行比较,如果发现重复项,则使用splice方法移除后面的重复...

    JavaScript中关于indexOf的使用方法与问题小结

    在JavaScript 1.6版本之前,`indexOf`方法并未在所有浏览器中得到支持,尤其是IE浏览器在IE7和IE8中仅实现了到JavaScript 1.3版本,因此在这些旧版本的IE中尝试使用`indexOf`会抛出错误。相反,Chrome和Firefox等较...

    javascript 数组的方法集合

    4. **indexOf()**:返回指定元素在数组中首次出现的位置,如果不存在则返回-1。可以指定搜索起始位置。 5. **lastIndexOf()**:返回指定元素在数组中最后一次出现的位置,如果不存在则返回-1。也可以指定搜索起始...

    javascript数组去重方法终极总结

    但需要注意的是,该方法依赖于indexOf函数,因此在不支持该函数的旧版浏览器(如IE6/7/8)中将无法正常工作。另外,由于不同浏览器之间sort方法的实现可能存在差异,这也为跨浏览器兼容性带来了挑战。 方法3:利用...

    javascript检查某个元素在数组中的索引值

    在JavaScript的数组操作中,最常见的是使用indexOf()方法来查找元素在数组中的索引位置。如果元素存在数组中,indexOf()将返回该元素首次出现的索引位置;如果元素不存在,则返回-1。这个方法非常方便,但是需要注意...

    JavaScript 不支持 indexof 该如何解决

    JavaScript中的indexOf()方法是一个非常实用的字符串和数组方法,它能够返回指定元素在数组或字符串中首次出现的索引位置。该方法在现代浏览器中被广泛支持,但在一些老旧浏览器,比如IE8中,并不原生支持indexOf()...

    Javascript在IE和FireFox中的兼容处理

    - IE6-8没有提供`Array.prototype.indexOf`,可以自定义函数实现。 2. **自定义属性获取** - IE允许在DOM元素上直接添加非标准属性,如`element.selfAttr`,而Firefox则需要通过`element.getAttribute('selfAttr'...

    JavaScript数组去重由慢到快由繁到简(优化篇)

    为了兼容IE6-8,我们需要自定义`indexOf`函数,然后在去重方法中使用它。 ```javascript var indexOf = [].indexOf ? function(arr, item) {return arr.indexOf(item);} : function indexOf(arr, item) { for ...

    JavaScript实现删除数组重复元素的5种常用高效算法总结

    注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码,源码如下: // 最简单数组去重法 function unique1(array){ var n = []; //一个新的临时数组 //...

    javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】

    本文将深入探讨JavaScript数组的一些常见操作方法,包括连接、添加、删除、去重以及排序等,通过实例来帮助你理解和掌握这些功能。 1. **数组连接**: 使用`concat()`方法可以连接两个或多个数组。例如: ```...

    为JS扩展Array.prototype.indexOf引发的问题及解决办法

    在Firefox 3.5(支持JavaScript 1.8)中,由于内置了`Array.prototype.indexOf`,所以不会输出这个自定义方法,而在只支持JavaScript 1.3的IE8中,`indexOf`被认为是用户定义的属性。 为了解决这个问题,可以利用...

Global site tag (gtag.js) - Google Analytics