JavaScript中的Array类

创建方式:

  1. var arr = new Array();
  2. var arr = []; (推荐)

判断方式:

  1. value instanceof Array
  2. Array.isArray(value) //常用

转换:

  1. valueOf()
  2. toString() //分割成每个元素组成一个字符串,字符串用逗号(参数)分隔。
  3. toLocaleStrng ()
  4. join() //返回 一个由数组中的值连接起来组成的字符串,连接符为传入的参数,默认为 ,

一 基本方法:

1> pop()          取出最后一个元素 (先进后出),返回值就是数组最后一个元素,而且数组也会改变
2> shift()        取出第一个元素 (先进先出),返回值就是数组第一个元素,而且数组也会改变

3> push()         放入元素 ,返回值为 数组的长度。
4> unshift()      放入元素,与push() 不同的是 新放入的队头,返回值也为数组的长度 

5> reverse()      反转数组的顺序
6> sort()         对数字进行排序
   这两个重排序方法的返回值是排序完后的数组,同时原数组也会发生改变。

二 操作方法:

1>  concat()  参数是字符串或者数组,把他们添加到调用此方法的数组上。返回值是一个新数组。原数组不变
2>  slice()   分割数组项从第一个参数开始到第二个参数,返回截取后的新数组,原数组不变。

3>  强大的splice()

  1) 删除        两个参数 ,第一个是起始项,第二个是要删除的项数.

  2) 插入        至少三个参数,第一个是起始项,第二个是0(删除0项),第三个或者更多是插入的项.

  3) 替换        至少是三个参数, 第一个是起始项,第二个是删除的项数,第三个或者更多是插入的项.  

   返回删除的项,由数组表示,原数组发生改变  

**三 位置方法: **

1>   indexOf()       第一个参数为要查找的项,第二个是查找的位置索引(可选),返回值为查找项所在位置。
2>   lastIndexOf()   从末尾开始查找,功能和indexOf一样。

四 迭代方法:

every(): 对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true
个人理解:就是检查是否数组的每一项都符合函数规定的功能?如果每一项都符合此方法返回true,则返回true,否则返回false。

var arr = [8,21,69,27,6];
var result = arr.every(function(value,index) {
  if(value > 5) {
    return true;
  }else{
    return false;
  }
});
console.log(result);             //true

filter(): 对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组
个人理解:查看数组项中是否有其中一项符合函数规定要求,如果有就返回它,以数组形式返回。

var numbers = [1,2,3,4,,9,12,41,3,2,5,4];
var result = numbers.filter(function(value, index) {
  if(value > 2){
    return true;
  }else{
    return false;
  }
});
console.log(result);            //[3,4,9,12,41,3,5,4]

forEach():对数组中的每一项运行给定函数。这个方法没有返回值
个人理解:功能和for循环操作数组相同。

var numbers = [1,2,3,4,5];
numbers.forEach(function(value, index) {
  console.log(value);
});
//   1    2    3     4     5

map(): 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
个人理解:返回对数组每一项操作后的结果,以数组形式显示。

var numbers = [1,2,3,4,5];
var result = numbers.map(function(value, index) {
  return value += 1;
});
console.log(result.toString());            //2,3,4,5,6

some(): 对数组中的每一项运行给定函数,如果该函数对任一项返回 true,则返回 true。
个人理解,如果说every是 && 的特性,那some就是 || 的特性,只要有一个数组项满足函数中的规定返回true,则返回true。

这几个方法都不会改变原数组的值。
五 归并方法

reduce():
reduceRight():

你可能感兴趣的:(JavaScript中的Array类)