原文地址在我的博客, 转载请注明出处,谢谢!
概述
本文总结了JavaScript常用函数,这些函数包括Array常用函数以及String常用函数
JavaScript原生函数
Array常用函数
-
isArray()
-判断某个值是不是数组类型
if(Array.isArray(value)){
//对数组进行操作
}
join("分隔符")
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
- 栈方法
-
push()
-可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度:
var colors = new Array();
var count = colors.push("red","green");
console.log(colors);//["red","green"]
console.log(count);//2
-
pop()
-从数组末尾移除最后一项,减少数组length值,然后返回移除的项
var item = colors.pop();
console.log(item);//"green"
console.log(colors.length);//1
- 队列方法
-
shift()
-移除数组的第一项并返回该项,同时将数组长度减一var item = colors.shift(); console.log(item);//"red" console.log(colors.length);//1
-
unshift()
-在数组前端添加任意个项并返回新数组的长度
var count = colors.unshift("yellow","black"); console.log(colors);//["yellow","black","red","green"]
-
- 重排序方法
-
reverse()
-反转数组项的顺序var values = [1,2,3,4,5]; console.log(values.reverse());//5,4,3,2,1
-
sort()
-默认情况下按升序排列数组项,即最小的值在前。为了实现排序,sort方法会调用每个数组项的toString(),然后比较字符串,以确定排序。即使数值项是数字,比较的也是字符串,这通常不是最佳方案,因此sort()可以接受一个比较函数作为参数,返回经过排序后的数组
var values = [0,1,5,10,15]; console.log(values.sort());//0,1,10,15,5 function compare(value1,value2){ return value2 - value1; } console.log(values.sort(compare));//0,1,5,10,15 ```
-
- 操作方法
-
concat()
-合并数组的意思,可以接受n个字符串或数组。var colors = ["red","green","pink"]; var color2 = colors.concat("bliue",["black","yellow"]); //["red","green","pink","blue","black","yellow"]
slice()同样不会对原数组产生影响,它会创建一个副本操作后返回。参数可以为负数。先**创建一个数组副本**,然后将接受到的参数添加到副本末尾,最后返回新构建的数组,**原数组不会受到影响**。 * `slice()` -**切数组**的意思,接受一到两个数值型参数表示切下的起始结束位置 ``` javascript var colors = ["red","green","pink"]; var color1 = colors.slice(1);//["green","pink"] var color2 = colors.slice(1,2); //["green"]
-
splice()
-剪接的意思,可以实现数组的删除、插入、替换。
splice(起始位置,删除的项数,插入的项(可以多个项,可选))
返回从原始数组中删除的项,对原数组直接操作
var colors = ["red","green","pink"]; var color1 = colors.splice(0,1);//["green","pink"],删除第一项 var color2 = colors.splice(1,0,"black"); //["green",“black”,"pink"]
-
indexOf()
-返回查找的项的位置,接受两个参数,indexOf(要查找的项(可选),查找起点位置索引),它会使用===来查
var colors = ["red","green"]; console.log(colors);//["red","green"] console.log(color2);/
-
- 迭代方法
以下每个迭代函数都会接受两个参数,一个是要在每一项运行的函数和运行在该函数的作用域对象——影响this的值,为数组的每一项运行的给定函数接受三个参数:function(数组的项,该项在对象的位置,数组本身){}-
every()
-如果该函数对每一项都返回true,则返回true -
filter()
-返回该函数会返回true的项组成的数组 -
forEach()
-单纯运行给定函数,无返回值 -
map()
-返回给定函数运行在数组中的每个项的结果组成的数组 -
some()
-如果该函数对任一项返回true,则返回true
var values = [1,2,3,4,5]; console.log(values.every(function(item){ return (item>2); }));//false console.log(values.some(function(item){ return (item>2); }));//true console.log(values.filter(function(item){ return (item>2); }));//[3,4,5] console.log(values.map(function(item){ return (item*2); }));//[2,4,6,8,10] console.log(values.forEach(function(item){ //执行某些操作 }));
-
- 归并方法
-
reduce()
-浓缩的意思,接受一个给定函数(function(pre,cur,index,array){}
)和作为归并基础的值(可选),迭代数组所有项,返回一个构建的值var values = [1,2,3,4,5]; console.log(values.reduce(function(pre,cur,index,array){ return pre + cur; }));//15
-
String常用函数
- 查找方法
- 字符串方法
-
charAt(n)
返回字符串中第n(0~length-1)个字符; -
charCodeAt(n)
返回字符串中第n个字符的Unicode编码; -
fromCharCode(0或多个字符的Unicode编码)
返回根据字符编码创建的字符串
-
- 位置方法
-
indexOf(要查找的字符串,开始查找位置(可选))
返回找到的子串首次出现的索引或-1(未找到)。可以用于数组查找项,不能查找对象。
-
- 匹配方法
-
match(正则表达式)
返回存放匹配结果的数组,正则如果没有加全局标记g
那么这个数组会有个input
属性,它指向调用match()
的字符串对象.未找到返回null.
-
var str = "hello,world"; str.match("he");["he", index: 0, input: "hello,world"] str.match(/he/);//["he", index: 0, input: "hello,world"] str.match(/he/g);//["he"] str.match(/l/g);//["l", "l", "l"]
-
search(正则表达式)
返回字符串中第一个与正则表达式相匹配的子串的索引,忽略全局标记g
和lastIndex
属性
var str = "hello,world"; str.search("he");//0 str.search(/he/);//0 str.search(/he/g);//0 str.match(/l/g);//2
-
replace(正则(字符串),替换文本或函数)
创建一个原字符串副本,替代后返回。
var str = "hello,world"; str.replace(/l/g,"b");//"hebbo,worbd" console.log(str);//"hello,world"
-
split(分隔符,(数组长度))
返回根据指定分隔符将字符串分割成多个子串组成的数组,这个分隔符必须是原字符串里的某个字符,否则返回原字符串
javascript var str = "hello,world"; str.split("");//["h", "e", "l", "l", "o", ",", "w", "o", "r", "l", "d"] str.split("o");//["hell", ",w", "rld"]
- 字符串方法
- 操作方法
-
concat(string,...)
返回把所有参数都连接到原字符串后形成的字符串 -
slice(剪切的起始位置,结束位置)
返回剪切后的字符串,创建副本,原字符串不变 -
substring()
功能与slice
相同,不同的是参数不能为负 -
trim()
清楚字符串(注意不是字符)前后的空格
-
- 编码方法
-
escape(string)
、unescape(string)
返回字符串常规编码(解码) -
encodeURI(string)
、decodeURI(string)
URI字符串编码与解码
-
- 转换方法
-
toUpperCase()
、toLocaleUpperCase()
转为大写 -
toLowerCase()
、toLocaleLowerCase()
转为小写
-