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

https://github.com/AnHyun/blog/issues/3

一、string 常用方法:

1.substring(start开始位置的索引,end结束位置索引) 截取的位置不包含结束位置的字符,只写一个参数表示从开始位置截取到最后,输入负值时将负值变为0,哪个较小作为开始位置

var str='abcdefg';  
str.substring(1) //得到bcdefg  str.substring(1,3) //得到bc

2.slice(start开始位置索引,end结束位置索引) 基本和substring相似,区别在参数为负数。输入负值时 值与字符串的长度相加

var str='abcdefg'; 
str.slice(1)  //bcdefg      str.substring(1,3) // bc

3.substr(start开始位置索引,end需要返回的字符个数) 输入负值时 start参数与字符串的长度相加 ,end为负时参数变为0

var str='abcdefg'; 
str.substr(1) //bcdefg      str.substr(1,1) //b

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

var str='abcdefg';
str.charAt(2) // c

5.indexOf(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.test() 方法用于检测一个字符串是否匹配某个模式.

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

14.charCodeAt() 方法返回一个整数,代表指定位置字符的Unicode编码。

15.trim() 去除两端的空格,不影响之前的字符串

二、数组常用的方法

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

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

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

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

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

  6. slice(start,end) 截取数组 从start(开始) 到end(结束 不包含), 返回新数组,原数组不变

var arr=[1,2,3,4,5],new=arr.slice(2,4);
console.log(new);  // [3,4]
console.log(arr);  // [1,2,3,4,5]
  1. concat() 数组合并

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

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

var arr=[1,2,3,4,5];
console.log(arr.splice(1));  // [2,3,4,5]
console.log(arr);       // [1]
console.lgo(arr.splice(-1))  // [5]  

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

var arr=[1,2,3,4,5];
console.log(arr.splice(1,3)); // [2,3,4]
console.log(arr)       // [1,5]
arr.splice(0,1) =>arr.shift()
arr.splcie(arr.length-1,1) =>arr.pop()

(3).添加 原数组增加

var arr=[1,2,3,4,5];
console.log(arr.splice(1,0,13)); // []
console.log(arr);        // [1,13,2,3,4,5]

(4).替换

var arr=[1,2,3,4,5];
console.log(arr.splice(1,2,'a','b')) // [2,3]
console.log(arr);        // [1,'a','b',4,5]
arr.splice(0,0,1) =>arr.unshift(1);
arr.splice(arr.length,0,1) => arr.push(1)
  1. arr.forEach(item,index,array){} 遍历,循环 类似jquery的each 其中的item参数是数组中的内容,index为其索引,array表示数组本身
 var arr=[1,2,3,4,5];
 arr.forEach(function(item,index,array){
 })
  1. map() 方法 映射 用法和forEach类似 对数组的所有成员依次调用一个函数,根据函数结果返回一个新数组。
var men=[
       {'name':1,'age':12},
       {'name':2,'age':22},
       {'name':3,'age':33}
   ],
   age=men.map(function(item){
       return item.age;
   })

11.filter() 参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。

var arr = [1, 2, 3, 4, 5]
arr.filter(function (elem) {
    return (elem > 3);
})
// [4, 5]
  1. arr.sort() 排序 默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序
var arr=[1,2,22,11,33,3,5,4];
console.log(arr.sort()) // [1,11,2,22,3,33,4,5] 

arr.sort(function(a,b){ return a-b})
 a-b从小到大 b-a从大到小

三、数组和字符串之间的转换

1.join() 数组转化为字符串

2.split() 字符串转换为数组

3.toString() 返回数组的字符串形式。

四、常见数学方法

1.math.abs() 取绝对值

2.math.ceil() 向上取整

3.math.floor() 向下取整

4.math.round() 四舍五入

5.math.roundom() 取随机数

6.toFixed() 保留小数,结果是字符串类型的!!!

7.parseInt() 转化为整型数字(整数)

8.parseFloat() 转化为浮点型数字(带小数的数字)

原文地址:https://www.cnblogs.com/hupan508/p/7059207.html