zoukankan      html  css  js  c++  java
  • JS基础学习07

    19.4 Array数组API补充

    1. Array.reverse():将数组内的数据顺序翻转,返回一个翻转后的新数组。

    API说明:

    /**
    @return {Array.<T>} //返回一个数组。
    */
    Array.prototype.reverse = function() {};

    2. Array.filter(function(element,index,salarys){}): 遍历数组中的所有元素,将数组内的数据按函数内要求过滤,函数中返回true的留下,返回falser过滤掉,返回一个过滤完的新数组。如:

    var newSalarys = salarys.filter(function(element,index,salarys){

             console.log(element); // 数组中的每一项元素

             console.log(index);//数组中每个元素的索引

             console.log(salarys);//当前数组

     });

     API说明:

    /**
    @param {function(T=, number=, Array.<T>=)} callback //需设置一个回调函数。
    @param {*} [thisArg] //可选参数,也可以不选。
    @return {Array.<T>} //返回一个函数。
    */
    Array.prototype.filter = function(callback,thisArg) {};

    3. Array.foreach(function(element,index,salarys){}): 这个API只做循环遍历数组每一项的功能,并可以通过函数内的代码来输出数组中的每一项及每一项的索引,但是这个API无返回值或者是说返回值为undefined。

    API说明:

    /**
    @param {function(T=, number=, Array.<T>=)} callback //需设置一个回调函数。
    @param {*} [thisArg] //可选参数,也可以不选。
    @return {void} //返回一个无效值。
    */
    Array.prototype.forEach = function(callback,thisArg) {};

    4. Array.indexOf(searchElement,fromIndex);返回数组中某个元素的索引位置,如果只有一个参数searchElement,则是默认fromIndex从索引为0的位置开始查找,如果有第二个参数fromIndex,则从参数的索引开始往后查找与searchElement相同的元素,并返回这个元素的索引。如果没有元素与searchElement相同,则返回-1.

    API说明:

    /**
    @param {T} searchElement //需要选择的元素。
    @param {number} [fromIndex] //查找时的初始索引位置。
    @return {number} //返回查找到的元素的索引位置。
    */
    Array.prototype.indexOf = function(searchElement,fromIndex) {};

    5. Array.slice(start,end): 截取数组中的元素组成一个新数组并返回,不改变原数组。

      1 [start,end) 第一个参数是开始截取的索引位置,第二个是终止截取的索引位置,但是取不到第二个索引对应的值。

      2 当只有一个参数时,这个参数为开始截取的索引位置,并从这个索引位置开始截取到最后的元素。

      3 当第二个值小于第一个值是,截取的数据为空,并返回空数组。

      4 当只有一个参数的时候,并且这个参数为负数的时候,就相当于开始截取的索引为Array.length+这个参数的值,并截取后面所有的元素。

      5 当第二个值为负数的时候,这终止截取的索引为Array.length+这个参数的值.但是取不到第二个索引对应的值。

     API说明:

    /**
    @param {Number} [start] //开始截取的索引位置。
    @param {Number} [end] //终止截取的索引位置。
    @return {Array.<T>}//返回一个数组。
    */
    Array.prototype.slice = function(start,end) {};

    6. Array.splice(start,deleteCount,items):

      1 删除数组内的元素:只有start,deleteCount两个参数时为删除功能,第一个参数为开始截取的索引位置,第二个参数是截取元素的数量,返回一个由被截取的元素组成的新数组,原数组的对应元素将被删除。

      2 替换数组中的元素:start,deleteCount,items三个参数都存在时就相当于将原数组中的元素替换成新元素的功能。第一个参数为开始截取的索引位置,第二个参数是截取元素的数量,并返回一个由被截取的元素组成的新数组,对于原数组先将被截取的元素删除,再讲items中的新元素填充到截取的位置,被截取的元素数量与补充进来的元素数量可以不一致。

    API说明:

    /**
    @param {Number} [start]//开始截取的索引位置。
    @param {Number} [deleteCount]// 需要截取元素的数量。
    @param {...T} [items] //替换的元素。
    @return {Array.<T>}//返回一个数组。
    */
    Array.prototype.splice = function(start,deleteCount,items) {};

    20. 清空数组的方式

    20.1 array.splice()的方法:从0截取,截取的数量为整个数组的元素数量,即arr.length.

    20.2 改变数组长度的方法:让数组的长度变为0,来清空数组。

    20.3 直接重新赋值一个空数组,并且一般编程当中都是使用这个方法。

    21.字符串string的属性和方法

    我们可以将字符串看成由许多字符组成的数组,这时它会拥有许多数组的属性和方法:

    21.1 string.length属性

    可以通过string.length的属性来查看字符串的字符长度,并且还可以使用循环语句来遍历字符串中所有的字符。

    21.2 String.concat(strings) 连接两个字符串

    通过string1.concat(string2)的方法将字符串1和2连接起来。

    API说明:

     /**
    @param {...string} [strings]//参数为字符串。
    @return {string}//返回一个新的字符串。
    */
    String.prototype.concat = function(strings) {};

    21.3 string.slice (start,end)

    字符串中的slice用法和数组中的用法一致。

    21.4 string.substring(start,end)

    与slice的用法基本一致。

    区别在于特殊用法:当两个参数的时候,并且第二个参数为负数时,则第二个参数相对于0,而这时会从索引为0 的元素开始截取,第一个参数为终止截取的索引位置,并且截取不到这个值,将截取到的元素组成新的数组返回.

    /**
    @param {Number} start //开始截取的索引位置。
    @param {Number} [end]//终止截取得到索引位置。
    @return {string}//返回一个新的字符串。
    */
    String.prototype.substring = function(start,end) {};

    21.5 string.substr(start,length)

      1 两个参数的时候,第一个参数为开始截取的索引位置,第二个参数为截取的元素数量。并将截取到的元素组成的新数组返回。

      2 一个参数的时候,第一个参数为开始截取的索引位置,并从这个索引位置开始截取到最后的元素。并将截取到的元素组成的新数组返回。

      3 一个参数的时候并且参数为负数时,就相当于以array.length+这个参数的值为开始截取的索引位置,并往后截取后面的所有元素。并将截取到的元素组成的新数组返回。

      4 两个参数的时候并且第二个参数为负数时,就相当于截取元素数量为零,所以截取结果为空,返回空数组。

    API说明:

    /**
    @param {Number} start//开始截取的索引位置。
    @param {Number} [length]//截取字符的数量。
    @return {string}//返回一个新字符串。
    */
    String.prototype.substr = function(start,length) {};

    21.6 string.split (separator,limit)

    用某个字符将字符串中的字符分割变成数组中的一个或多个元素,也就是字符串转换为数组。

    separator分隔符应为字符串中出现的字符或者为“”空字符串,不然会将字符串整体转换为一个元素。

    API说明:

    /**
    @param {*} separator//分隔符类型。
    @param {Number} [limit]
    @return {Array}//返回一个新的数组。
    */
    String.prototype.split = function(separator,limit) {};

    21.7 string.charAt(获取字符串中指定索引位置的字符)

    API说明:

    /**
    @param {Number} pos//指定的索引位置。
    @return {string}//返回该位置的字符。
    */
    String.prototype.charAt = function(pos) {};

    21.8 string.charCodeAt(获取字符串中指定索引位置的字符的ASCII码值)

    API说明:

    /**
    @return {Number}//返回一个ASCII码值。
    */
    String.prototype.charCodeAt = function(index) {};

    21.9 字符串转换大小写

    var str = "helloWMMMAorld";
    console.log(str.toUpperCase());//将字符串中所有字符转换为大写。
    console.log(str.toLocaleUpperCase());//将字符串中所有字符转换为大写。
    console.log(str.toLowerCase());//将字符串中所有字符转换为小写。
    console.log(str.toLocaleLowerCase());//将字符串中所有字符转换为小写。

    21.10 去除字符串前后的空格 string.trim()

    API说明:

    /**
    @return {string}//返回一个新字符串。
    */
    String.prototype.trim = function() {};

    21.11 string.replace()  替换字符串里面字符

    这个方法有两个参数,

    第一个参数searchValue为需要被替换的元素,第二个参数replaceValue为替换后的元素。但这个方法只能替换第一个与searchValue参数相同的元素。

    可以通过正则方式来实现全部替换:

    第一个参数通过/a/g(g代表global全局的意思)的表示方式来替换字符串中所有与参数searchValue相同的元素。

    API说明:

    /**
    @param {RegExp|string} searchValue//需要替换的字符。
    @param {string|function} replaceValue//替换后的字符。
    @return {string}//返回一个新的字符串。
    */
    String.prototype.replace = function(searchValue,replaceValue) {};

  • 相关阅读:
    基于Lucene 4.x的ikanalyzer
    scala实现HighCharts生成的SVG图像下载
    使用solrj和EasyNet.Solr进行原子更新
    Bootstrap 2.3.0自定Grid布局
    无法删除打印机Failed to remove driver ZDesigner ZT210300dpi ZPL. Failed to remove package zdesigner.inf. Driver package is in use.
    彩云披月镜,委蛇藏花芯。朝辞浮云晓,元初破日衣。
    python browser.find_element_by 方法过期browser.find_element_by_tag_name;browser.find_element_by_class_name;browser.find_element_by_id;browser.find_element_by_name;
    c++中按位取反
    typedef用法总结
    Visual C++开发工具与调试技巧整理
  • 原文地址:https://www.cnblogs.com/chendu/p/5731037.html
Copyright © 2011-2022 走看看