您的位置:首页 > Web前端

web前端字符串和数组最容易混淆的常用方法

2017-11-13 00:00 330 查看
最近面试的小伙伴比较多,字符串和数组的操作肯定会被面试者问到,下面就总结一下容易混淆的常用方法。

一、字符串截取

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))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web前端 字符串 数组