今天发现在写js的过程中,对各种字符串截取不太熟悉,今天就来记录一下。。。通常的字符串截取的方法有 substr,substring等。
先来说说这两种。。。首先它们俩的相同点:
当只有一个参数时:都时候从当前下标往后截取直到结尾。
例如:
var a="abcdef"; a=a.substr(2)//输出 cdef a=a.substring(2)//输出 cdef console.log(a);
存在两个参数时:
substr(startIndex,lenth):从起始下标开始截取往后的字符串长度
substring(startIndex, endIndex):从当前下标开始截取,截取字符串最终的下标,也就是截取起始到结尾的中间部分。含头不含尾。
var a="abcdef" a=a.substr(1,3) //输出bcd a=a.subtring(1,3)//输出 bc console.log(a);
再来说说 indexOf和lastindexOf()的相同点与区别
相同点:这两个方法都是用来查找目标值在数组中的位置。
1.indexOf(num),如果在数组中没找到目标值,就返回 -1
var arr=[10,5,2,3,4,5,7,8,9]; 下标分别:0 1 2 3 4 5 6 7 8 console.log(arr.indexOf(5)); //输出 1 console.log(arr.indexOf(6)); //输出 -1
2.indexOf(num1,num2),在数组里面从num2往后开始查找num1,并返回num1在数组里正常的位置,如果在数组中没找到目标值,就返回 -1。
var arr=[10,5,2,3,4,5,7,8,9]; //索引值:0 1 2 3 4 5 6 7 8 console.log(arr.indexOf(8,5));//7 console.log(arr.indexOf(5,7));//-1
3.lastindexOf(num)
var arr=[10,5,2,3,4,5,7,8,9]; //索引值:0 1 2 3 4 5 6 7 8 console.log(arr.lastIndexOf(4));//4 console.log(arr.lastIndexOf(7));//6 console.log(arr.lastIndexOf(5));//5
4.lastindexOf(num1,num2)
var arr=[10,5,2,3,4,5,7,8,9]; //索引值:0 1 2 3 4 5 6 7 8 console.log(arr.lastIndexOf(4,6));//4,由于数组里面没有6,默认从arr[0]开始。
console.log(arr.lastIndexOf(7,4));//-1