Javascript里字符串下标为0为什么是第一个字符?这不是和数组一样了嘛?

JavaScript012

Javascript里字符串下标为0为什么是第一个字符?这不是和数组一样了嘛?,第1张

字符串和数组一样,索引都是从0开始,但获取元素的方法不一样。字符串用charAt(索引)方法,而数组用[索引]。

如:

var str="abc123"

var arr=[1,2,3]

var c=str.charAt(0)

var e=arr[0]

Array.prototype.getIndex=function(value){ 

    var str = this.toString() 

    var index = str.indexOf(value) 

    if(index >= 0){ 

        //存在返回索引 

        var reg1 = new RegExp("((^|,)"+value+"(,|$))","gi") 

        return str.replace(reg1,"$2@$3").replace(/[^,@]/g,"").indexOf("@") 

    }else{ 

        return -1//不存在此项 

    } 

}

向数组添加一个getIndex的方法,arr.getIndex('b')