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() 去除两端的空格,不影响之前的字符串
二、数组常用的方法
-
push() 添加到最后 返回添加后的数组
-
unshift() 添加到最前面 返回添加后的数组
-
shift() 删除(从前面) 返回处理后的数组
-
pop() 删除最后一项 返回处理后的数组
-
reverse() 数组翻转 返回处理后的数组
-
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]
-
concat() 数组合并
-
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)
- arr.forEach(item,index,array){} 遍历,循环 类似jquery的each 其中的item参数是数组中的内容,index为其索引,array表示数组本身
var arr=[1,2,3,4,5];
arr.forEach(function(item,index,array){
})
- 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]
- 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() 转化为浮点型数字(带小数的数字)