关于Es3, Es5,Es6 的几乎所有的api

        花了一天时间整理了es3,es5,es6的相关的api ,主要想增强一下对这些api的细节了解 ,写的不算详细,但是大体也差不多,希望对你也有帮助吧

 es3: split(), join(), reverse(), sort(), concat(), shift(), pop(), push(), unshift(),

  concat(), search(), replce(), subStr(), subString(), slice(), splice(), match()

      1.X.split(n); 把通过n连接的字符串 从每个参数n的地方断开, 参数"" 默认对分割每个字符 返回新的数组 不改变字符串, m

      "h!e!le!l!o".split('!') ==> ["h", "e", "le", "l", "o"]; 'a!bc!d!'.split("") ==> ['a', '!', 'b', 'c', '!', 'd', '!']

      2. Array.join(n) 把数组以n的的形式连接成字符串 数组成员之间以n连接, n可以是任何符号或者字符(串)

       var arr = ["h", "e", "le", "l", "o"]; arr.join('!') ==> h!e!le!l!o;

      3. Array.reverse() 把数组的所有成员颠倒过来 返回改变之后的新数组,原数组已改变

      [1,2,3,4,5].reverse()  ==> [5,4,3,2,1]

      4. Array.sort(fn))  对数组的元素进行排序,参数是一个函数 不填默认是按照字母顺序进行排序,按照数组排序需要一个排序函数;                              返回排序之后的新数组,改变原数组

      [10,5,40,25,1000,1].sort(function(a,b){return a-b}) 向上排序 ==> [1,5,10,25,40,1000]

      5. Array/X.concat(a, b,...))    拼接字符串或者数组 返回一个新的数据,不修改原来的数组或者字符串

      ['a', 'b', 'c'].concat(['d'], ['e']) ==> ['a', 'b', 'c', 'd', 'e']

      6. Array.pop() 删除数组最后一项成员 原数组改变

      7. Array.push(a) 数组的末尾添加一个新成员a  返回当前数组长度 改变原数组

      7.Array.shift() 删除数组第一项成员,改变原数组

      8.Array.unshift(a) 向数组的的头部添加一个新成员a,返回当前数组的长度,改变原数组

      9.X.search(searchvalue)  查找X字符串中参数(正则或者字符串)首次出现的位置 找不到则返回-1 功能类似于indxOf 但是只有一个参数

      var str="hello World"; str.search(/World/); ====>6; str.search(/world/); ====>-1;  str.search(/world/i); ====>6

      10. X.replace(n, m) 替换字符串中的n为m 返回新的字符串 不改变原字符串

      var str = 'abcde'; str.replcae('a', 'lan')  ==> 'lanbcde'

      11. X.substr(n, m)  截取字符串X n位置开始,截取m的长度 返回截取到的字符串 不改变字符串的数据

       'abcdde'.substr(1,4) ==> bcdd

      12.X.substring(n, m) 截取字符串X 从开始位置n到结束位置m(不包括m)的字符串,不改变原数组

       'abcdegft'.substring(1,4) ==> bcd

      13. Array/X.slice(start, end),  返回原数组或者字符串从开始位置到结束位置的新数组,不改变原数组

      ['aa', 'bb', 'vv','e'].slice(1,3) ==> ['bb', 'vv']  'aabbccdd'.slice(1,3) ==>ab

      14. Array.splice(index, len, item1, item2,...) 向数组添加或者删除项目然后返回删除的项目,返回删除的项目['a', 'b']]

       ['a', 'b', 'c', 'd'].splice(0, 2,'e', 'f') ==> 原数组变成["e", "f", "c", "d"]

      15. X.match() 该方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 该方法类似 indexOf() 和 

        lastIndexOf(), 但是它返回指定的值,而不是字符串的位置。

      var str="1 plus 2 equal 3"   str.match(/\d+/g)  ==> 1,2,3

      es5: filter(), some(), every(),reduce(), map(), lastIndexOf(), find(), findIndex(), forEach(),

      1.Arr.filter(function(item, index, arr){}) 根据参数函数return 条件过滤数组 返回符合条件的成员组成的新的数组 不改变原数组

      var ages = [32, 33, 16, 40]; ages.filter(item => item > 32) ==> [33,40]

      2.Arr.some(function(item, index, arr){}) 根据条件只要数组成员某一项符合 就返回true,不改变原数组

      var ages = [32, 33, 16, 40]; ages.filter(item => item > 32) ==> true;

      3.Arr.every(function(item, index, arr){}) 根据条件只有数组每一项成员符合 才返回true,不改变原数组

      var ages = [32, 33, 16, 40]; ages.filter(item => item > 32) ==> false;

      4。Arr.reduce(function(total,currentValue, index,arr){}) 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

      var ages = [32, 33, 16, 40]; ages.reduce( (total, cur) => { return total + cur})  ==>32+33+16+40

      5. Arr.map((function(currentValue,index,arr)) 返回根据条件对原数组每一项进行操作后组成的新数组 

      var ages = [32, 33, 16, 40]; ages.map(item => item*2)  ==> [64,66,32,80]

      6.X/Arr.lastIndexOf(n)  找到字符串X或者数组中最后一次找到的n 位置 

        var str =  'abcdea'; str.lastIndexOf('a')     ==> 5

      7. Arr.find(function(item, index,arr){}) 返回符合条件的第一个数组成员

      var ages = [15,52,22,19]; ages.find(item => item > 20) ==> 52

      8. Arr.findIndex(function(item, index,arr){}) 返回符合条件的第一个数组成员的位置

      var ages = [15,52,22,19]; ages.find(item => item > 20) ==> 1

      9. forEach(function(item, index, arr){}) 调用数组中的每一项,让外界可操作数组或者操作数组本身

      var sum = 0; ages = [15,52,22,19]; ages.forEach(item => {sum +=item; })

    es6   padStart(), padEnd(),  endWith(), includes(), startWith(), trimStart(),     trim(), endTrim(),  repeat(), array.flat(), Array.of(项), Array.from(单个字符), Object.keys(), Object.values(), Object.entries()

      1. X.padStart(n, m): X字符串向前补齐,n字符串最终长度, m补齐的东西,

       var x = 'abc'; x.padStart( 6, 'd')   返回==> dddabc X不变; 

      2. X.padend(n, m): X字符串向后补齐, n字符串最终长度, m补齐的东西,

       var x = 'abc'; x.padStart( 6, 'd')   返回==> abcddd; 

      3. x.startWith(n, s, e); 检验一个字符串是否是n开头的, s:开始位置,e 结束位置(不包括结束位置), 

       var x = 'hello world lan' x.startWith('hel', 0, 3) ==>true;

      4. x.endtWith(n, s, e); 检验一个字符串是否是n结尾的的, s:开始位置,e 结束位置(不包括结束位置) , 

      var x = 'hello world lin' x.endWith('lin') => true;

      5. x.includes(n, s, e); 检验一个字符串中是否包含n,不考虑位置, s:开始位置,e 结束位置(不包括结束位置) , 

      6. X.trimStart() 删除X字符串中非空字符串前面的空格,返回新的字符串 不改变原字符串

      7. X.trim() 删除X字符串中非空字符串前后的空格,返回新的字符串 不改变原字符串

      8, X.trimEnd() 删除X字符串中非空字符串后面的空格, 返回新的字符串, 不改变原来的字符串

      9. X.repeat(t) X 字符串重复t次 返回新的字符串,不改变原来的字符串

       var a = 'abc' a.repeat(3)  ==> abcabcabc

      10.  array.flat(n)) 数组扁平化 把多维数组扁平n层  n = Infinity 无论几维都转换为一维数组 n 不写默认拉平一层

      var a = [1,2,[3,4,[5,6,7]],8,9]; a.flat(2) ==> [1,2,3,4,5,6,7,8,9] 兼容性不好 需要高版本的浏览器才能使用

      11. Array.of(a,b,c...)) 把不少于2个的参数 变成数组

      12. Array.of(1,2,3,4) ==> [1,2,3,4]; Array.of('a', 'b', 'cd') ==> ['a', 'b', 'cd']; Array.of('abcd') ==> ['abcd']

      13. Array.from(); 把类数组或者字符串转换成数组

      Array.from(new Set([1,2,3,4])) ==> [1,2,3,4], Array.from("hello") ==> ['h', 'e', 'l', 'l', 'e']    ......

      14. Objct.keys(obj) 返回对象obj的键名组成的数组; Object.values(obj) 返回对象obj的键值组成的数组,Object.entries(obj) 返回对象obj每一个键名和对应键值组成的数组的数组

      var obj = {name:'jhon', age:20, sex: 'female'};

      Object.keys(obj)  ==> ['name', 'age', 'sex']

      Object.values(obj)  ==> ['jhon, '20', 'female']

      Object.entries(obj)  ==> [['name', 'jhon'], ['age', '20'], ['sex', 'female']]

你可能感兴趣的:(关于Es3, Es5,Es6 的几乎所有的api)