js数组与字符串常用方法总结

前端之家收集整理的这篇文章主要介绍了js数组与字符串常用方法总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近在梳理js的基础,首先从数组和字符串开始。

string 常用方法

截取的位置不包含结束位置的字符,只写一个参数表示从开始位置截取到最后

输入负值时将负值变为0,哪个较小作为开始位置

str.substing(-1,1) =>str.substring(0,1) //a str.substring(1,-2) =>str.substring(0,1) //a

2.slice(start开始位置索引,end结束位置索引) 基本和substring相似,区别在参数为负数。

输入负值时 值与字符串的长度相加

str.slice(-1) =>str.slice(6) //g str.slice(1,-2) =>str.slice(1,5) //bcde str.slice(-2,-1)=>str.slice(5,6) //f

值绝对值大于字符串的长度时变为 0

str.slice(-22) =>str.substring(0) //abcdefg

第二个参数绝对值大于字符串的长度时,返回''

3.substr(start开始位置索引,end需要返回的字符个数)

输入负值时 start参数与字符串的长度相加,end为负时参数变为0

str.substr(6)//g str.substr(-2,-3) // ''

4.charAt(index) 方法返回指定索引位置处的字符。如果超出有效范围(0与字符串长度减一)的索引值返回空字符串.

5.index(string) 返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。

var str='abcdefga' str.indexOf('a') // 0 str.indexOf('h') //-1

6.lastIndexOf(string) 倒叙查找

返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。

var str='abcdefga' str.lastIndexOf('a') // 7

7.split(str) 将字符串以参数分割为数组

var str='abcadeafg' str.split('a') //["","bc","de","fg"]

8. toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。

9. toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。

10.match() – 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配

11.search 方法返回与正则表达式查找内容匹配的第一个字符串的位置。

12.replace 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配

数组常用的方法

1. push 添加到最后 返回添加后的数组

2. unshift 添加到最前面 返回添加后的数组

3. shift 删除(从前面) 返回处理后的数组

4. pop 删除最后一项 返回处理后的数组

5. reverse 数组翻转 返回处理后的数组

6. join 数组转化为字符串

7. slice(start,end) 截取数组 从start(开始) 到end(结束 不包含)

返回新数组,原数组不变

8. concat 数组合并

9. splice(开始下标,个数,ele1,ele2....) 剪接数组

(1).一个参数 从参数位置截取 填写负数类似上面str slice 返回截好的数组 原数组变化

(2).二个参数 截取 (开始位置,个数) 返回截好的数组 原数组变化

arr.shift() arr.splcie(arr.length-1,1) =>arr.pop()

(3).添加 原数组增加

(4).替换

arr.unshift(1); arr.splice(arr.length,1) => arr.push(1)

10. arr.forEach(item,index,array){} 遍历,循环 类似jquery的each

其中的item参数是数组中的内容,index为其索引,array表示数组本身

遇到嵌套跳出循环出现问题,暂时没有解决

11. map方法 映射 用法和forEach类似

12. arr.sort 排序

默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序

arr.sort(function(a,b){ return a-b})

a-b从小到大 b-a从大到小

13. 顺便写写我知道的排序方法

(1)冒泡排序 每次比较相邻的两个数,如果后一个数比前一个数小,换位置

arr[j+1]){ //换位置 tmp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=tmp; } } } return arr; } function bSort(arr){ var tmp; arr.forEach(function(item,i){ arr.forEach(function(item,i){ if(item>arr[i+1]){ //换位置 tmp = arr[i + 1]; arr[i + 1] = arr[i]; arr[i] = tmp; } }) }) return arr }

(2)快速排序 二分法,找到中间的数,取出来(新数组),原数组没,每次和此数比较,小的放到左边,大的放到右面

14. 数组的去重也写下吧

(1)双层循环不是很好

(2)利用json的key值无重复

(3) 利用sort方法排序,去掉旁边相同项

一些常见数学方法

数组和字符串的一些综合应用

截取后缀名

(1) var str='1.xxx.avi';

str=str.substring(str.lastIndexOf('.')+1);

(2) var str='1.xxx.avi';

次数的统计

n){ n=json[name]; sName=name; } } console.log('出现最多的字母'+sName+'次数为'+n);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

猜你在找的JavaScript相关文章