javaScript学习--------------------Array(数组)总结

1.创建数组

(1). var ary = new Array();

(2). var ary = [];

2.检测数据:

var value = new Array() 

(1). if(value instanceof Array){//对数组进行操作}

(2). if(Array.isArray(value)) {//对数组进行操作}

3.数组转换:

var value = new Array("red","green","blue");

alert(value.toString());

alert(value.valueOf());

alert(value.join("||"));   //red||green||blue

4.栈方法:

var colors = new Array();

var count = colors.push("red","green");   //推入两项 count = 2

count.push("blue");                      //推入另一项 count = 3

var item = colors.pop();//取最后一项  item = "blue"  colors.length = 2;

var first = colors.shift();       //取第一项  first= "red" colors.length = 1;

5.重排序:

(1).reverse方法:
var values = [1,2,3,4,5];

alert(values.reverse());   //   5,4,3,2,1

(2)sort:

var values = [0,1,5,10,15];

values.sort(); 

alert(values); // 0 ,1,10,15,5

默认情况下,sort() 方法按照升序排列数组项---即最小值在最前面,最大值在最后面。为了实现排序,sort()方法会调用每个数组项的toString()方法,然后比较得到的字符串,来确定如何排序。即使数组中每一项都是数值,sort()方法比较的也是字符串。虽然数值5小于10,但是字符串比较时,"10"则位于"5"的前面,于是数组顺序被改变了。

(3). compare

    

function compare(value1,value2){

if(value1 < value2){ return -1 ;}

else if(value1 > value2){ return 1 ;}

else{ return 0 ;}

}

var values = new Array(0,1,5,10,15);

values.sort(compare);

alert(values);    // 0,1,5,10,15

6.数组操作:

(1). concat() 

基于当前的数组中的所有项创建一个新的数组。这个方法会先创建当前数组的一个副本,然后把接收到的参数添加的副本的末尾,最后返回心构建的数组。

var colors = ["red","green"];

var colors2 = colors.concat("yellow",["black","blue"]);

alert(colors)//red,green

alert(colors2);//red,green,yellow,black,blue

(2).splice()

删除:可以删除任意数量的项目,只需制定两个参数 第一个参数是要删除第一项的位置,第二个参数是要删除的项数。

splice(0,2)会删除数组中前两项

插入:splice(2,0,"red","blue") 从第二项开始插入"red"和"blue"

替换:splice(2,1,"red","blue") 先删除第二项,再从第二项插入"red" 和"blue"

7.迭代:

var numner = [1,2,3,4,5,4,3,2,1];

(1).every()对数组中每一项运行给定函数,如果该函数每一项都返回true,则返回true;

var eneyrResult = number.every(function(item,index,array)){

return (item>2);

});

(2).filter()对数组中每一项运行给定函数,返回该函数会返回true的项组成的数组

var filterResult = number.filter(function(item,index,array)){

return (item>2);

});

alert(filterResult);//3,4,5,4,3

(3).forEach()对数组中每一项运行给定函数,没有返回值

(4).map()对数组中每一项运行给定函数,返回每次函数调用的结果组成的数组

var mapResult = number.filter(function(item,index,array)){

return item*2;

});

alert(mapResult);//[2,4,6,8,10,8,6,4,2]

(5).some()对数组中每一项运行给定函数,如果该函数任意一项都返回true,则返回true;

8.缩小方法:

reduce()redeceRight()的函数接收四个参数:前一个值,当前值,项的索引和数组对象,这个函数的返回的任何值都会作为第一个参数传给下一项,

第一次迭代发生在数组的第二项上,因此第一个参数数数组的第一项,第二个参数是数组的第二项。

var values = [1,2,3,4,5];

var sum = values.reduce(function(prev,cur,index,array){

return prev + cur;

});

alert(sum);//15


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值