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) {};

posted @ 2016-08-02 23:02  5毛钱小辣条  阅读(160)  评论(0编辑  收藏  举报