最近面试的小伙伴比较多,字符串和数组的操作肯定会被面试者问到,下面就总结一下容易混淆的常用方法。
一、字符串截取
1、slice方法返回字符串的片段。
strObj.slice(start[,end])
说明:
start下标从0开始的strObj指定部分其实索引。如果start为负,将它作为length+start处理,此处length为字符串的长度。
end小标从0开始的strObj指定部分结束索引。如果end为负,将它作为length+end处理,此处length为字符串的长度。
例如:
012345
var str = "ABCDEF";
str.slice(2,4);
结果:CD
2、substring方法返回位于String对象中指定位置的子字符串。
strObj.substring(start,end)
说明:
start指明子字符串的起始位置,该索引从0开始起算。
end指明子字符串的结束位置,该索引从0开始起算。
substring方法使用start和end两者中的较小值作为子字符串的起始点。如果start或end为NaN或者为负数,那么将其替换为0。
例如:
012345
var str = "ABCDEF";
str.substring(2,4); // 或 str.substring(4,2);
结果:CD
3、substr方法返回一个从指定位置开始的指定长度的子字符串。
strObj.substr(start[,length])
说明:
start所需的子字符串的起始位置。字符串中的第一个字符的索引为0。
length在返回的子字符串中应包括的字符个数。
例如:
012345
var str = "ABCDEF";
str.substr(2,4);
结果:CDEF
4、split分割为子字符串,然后将结果作为字符串数组返回。
strObj.split([separator[,limit]])
说明:
separator字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit该值用来限制返回数组中的元素个数。
例如:
var str = "AA BB CC DD EE FF";
alert(str.split(" ",3));
结果:
AA,BB,CC
二、数组截取
1、slice
slice是指定在一个数组中的元素创建一个新的数组,即原数组不会变
数组的 slice 需要两个参数,起点和终点。它会返回一个包含了从起点开始,到终点之前之间所有元素的新数组。
'abc'.slice(1,2) // "b"
[14, 3, 77].slice(1, 2) // [3]
2、splice
splice是JS中数组功能最强大的方法,它能够实现对数组元素的删除、插入、替换操作,返回值为被操作的值。上海尚学堂web前端培训技术文章,多多关注。
splice删除:arr.splice(1,2) (删除arr中的1、2两项);
splice插入:arr.splice(1,0,'brown','pink') (在arr键值为1的元素前插入两个值);
splice替换:arr.splice(1,2,'brown','pink') (在arr中替换1、2元素);
除此之外,splice 还会改变原数组。不要太惊讶,这正是 splice 的本意。
var x = [14, 3, 77]
var y = x.splice(1, 2)
console.log(x) // [14]
console.log(y) // [3, 77]
3、sort数字排序
//指定排序函数
function sortNumber(a,b){
return a - b
}
var arr = new Array(10, 5, 40, 25, 1000, 1);
document.write(arr + "<br />")
document.write(arr.sort(sortNumber))
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31494694/viewspace-2147200/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31494694/viewspace-2147200/