1,创建数组

 //第一种是使用Array构造函数
var colors = new Array();
var colors = new Array(20); //创建length为20的数组
var colors = new Array("red","blue","green");
//第二种基本方式是使用数组字面量表示法
var colors = ["red","blue","green"];

2,获取数组长度

 var colors = ["red","blue","green"];
console.log(colors.length); //

3,检测数组

 var colors = ["red","blue","green"];
var isArray = Array.isArray(colors);
console.log(isArray); //ture

4,转换方法

 var colors = ["red","blue","green"];
console.log( colors ); //red,blue,green
console.log( colors.toString ); //red,blue,green
console.log( colors.valueOf() ); //red,blue,green
console.log( colors.join("&") ); //red&blue&green

  toString()方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。

  valueOf()方法返回的还是数组

  join()方法只接受一个参数,即作为分隔符的字符串,然后返回包含所有数组项的字符串。如果不给join()传入任何值,或者给他传入undefined,则使用逗号作为分隔符,IE7及更早的版本会错误的使用字符串undefined作为分隔符。

5,栈方法

 var colors = ["red","blue","green"];
colors.push("black");
alert( colors ); // red,blue,green,black
var item = colors.pop();
alert( item ); //black
alert( colors.length ); //

6,队列方法

 var colors = ["red","blue","green"];
var item = colors.shift(); //取地第一项
alert( item ); //red
alert( colors ); //blue,green var count = colors.unshift(“red”,"black"); //推入两项
alert( colors ); //red,black,blue,green var item = colors.pop(); //取得最后一项
alert( item ); //green
alert( colors ); //red,black,blue

7,重排序方法

 var values = [0,1,5,10,15];
values.reverse(); //反转数组项的顺序
alert(values); //15,10,5,1,0 values.sort();
//sort()方法会调用每个数组项的 toString() 转型方法,然后比较得到的字符串
alert(values); //0,1,10,15,5 //降序排序
function compare(value1,value2){
if(value1 < value2){
return 1;
} else if (value1 > value2){
return -1;
}else{
return 0;
}
}
var values = [0, 1, 5, 10, 15];
values.sort(compare);
alert(values); //15,10,5,1,0 //更简单的比较函数
function compare(values1, values2){
return value1 - value2;
}

8,操作方法

 var colors = ["red","blue","green"];
var colors2 = colors.concat("yellow", ["black", "brown"]);
alert( colors2 ); //red,blue,green,yellow,black
 var colors = ["red","blue","green","yellow","black"];
var colors2 = colors.slice(1);
var colors3 = colors.slice(1, 4);
alert(colors2); //blue,green,yellow,black
alert(colors3); //blue,green,yellow var colors4 = colors.slice(-2, -1);
var colors5 = colors.slice(3, 4);
alert(colors4); //yellow
alert(colors5); //yellow

  splice方法主要用途是向数组的中部插入项,但是这种方法的方式有以下三种:

1,删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数。

  例如:splice(0,2)会删除数组中的前两项。

2,插入:可以向指定的位置插入任意数量的项,只需提供3个参数:起始位置、0(要删除的项)和要插入的项。如果要插入多项,可以再传入第四、第五,以及任意多个项。

  例如:splice(2,0,"red","green")会从当前数组的位置2开始插入字符串“red”,“green”。

3,替换:可以向指定的位置插入任意的数量的项,且同时删除任意数量的项,只需指定三个参数:起始位置,要删除的参数和要插入的任意数量的项。插入的项数不必和与删除的项数相等。

  例如:splice(2,1,"red","green")会删除当前数组位置2的项,然后再从位置2开始插入字符串“red”,“green”。

9,位置方法

 var numbers = [,,,,,,,,];
alert(number.indexOf()); //
alert(number.lastIndexOf()); // alert(number.indexOf(, )); //
alert(number.lastIndexOf(, )); //3 //没有找到的情况下返回 -1

10,迭代方法

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

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

forEach(): 对数组中的每一项运行给定的函数,这个方法没有返回值。

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

some(): 对数组中的每一项运行给定的函数, 如果该函数对任一项返回true,则返回true。

 var number = [, , , , , , , , ];

 var everyResult = numbers.every(function(item, index, array){
return(item > );
})
alert(everyResult); //false var someResult = numbers.some(function(item, index, array){
return(item > );
})
alert(someResult); //true var filterResult = numbers.filter(function(item, index, array){
return(item > );
})
alert(filterResult); //[3, 4, 5, 4, 3] var mapResult = numbers.map(function(item, index, array){
return item * ;
})
alert(mapResult); //[2, 4, 6, 8, 10, 8, 6, 4, 2] var i = ;
numbers.forEach(function(item, index, array){
i++;
})
alert(i); //

11,归并方法

 var values = [, , , , ]
var sum = values.reduce(function(prev, cur, index, array){
return prev + cur;
});
alert(sum) //15
//第一次执行回调函数,prev是1,cur是2。第二次,prev是3(1加2的结果),cur是3(数组的第三项)。 var sum = values.reduceRight(function(prev, cur, index, array){
return prev + cur;
});
alert(sum) //15
//第一次执行回调函数,prev是5,cur是4。第二次,prev是9(5加4的结果),cur是3(数组的倒数第三项)。
 

这两个方法都会迭代数组的所有的项,然后构建一个最终返回的值。reduce()是从数组第一项开始,逐个遍历到最后。而reduceRight()则从数组的最后一项,向前遍历到第一项。

接收4个参数:前一个值、当前值、项的索引和数组对象。这个函数返回的任何值都会作为第一个参数自动传给下一项。

from:《Javascript 高级程序设计》笔记总结

javascript Array类型 方法大全的更多相关文章

  1. Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全 C# 算法题系列(二) 各位相加、整数反转、回文数、罗马数字转整数 C# 算法题系列(一) 两数之和、无重复字符的最长子串 DateTime Tips c#发送邮件,可发送多个附件 MVC图片上传详解

    Newtonsoft.Json C# Json序列化和反序列化工具的使用.类型方法大全   Newtonsoft.Json Newtonsoft.Json 是.Net平台操作Json的工具,他的介绍就 ...

  2. JavaScript Array 数组方法汇总

    JavaScript Array 数组方法汇总 1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度 var arr = [1,2,3,4,5] console.log(arr.p ...

  3. JavaScript Array filter() 方法

    JavaScript Array filter() 方法 var ages = [32, 33, 16, 40]; function checkAdult(age) { return age > ...

  4. JavaScript中判断对象类型方法大全1

    我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一 ...

  5. JavaScript中Array类型方法总结

    Array类型是ECMAScript中最常用的类型之一,ECMAScript中的数组与其他多数语言中的数组有着相当大的区别.ECMAScript数组的每一项可以保存任何类型的数据.这里总结了数组类型的 ...

  6. JavaScript Array数组方法详解

    Array类型是ECMAScript中最常用的引用类型.ECMAScript中的数据与其它大多数语言中的数组有着相当大的区别.虽然ECMAScript中的数据与其它语言中的数组一样都是数据的有序列表, ...

  7. javascript array类型用法

    javascript高级编程-Array引用类型用法总结  2016-09-17   |    357 引用类型-Array类型 引用类型是一种数据结构,用于将数据和功能联系起来. 创建对象的方式: ...

  8. JavaScript -Array.form方法

    Array.from方法可以把一个类数组或者课遍历对象转换为一个正真的数组 语法 Array.from(arrayLike[, mapFn[, thisArg]]) 参数 arrayLike 想要转换 ...

  9. VBScript - 动态 Array 实现方法大全!

    记录一些方法,关于 VBScript 中,动态 Array 的实现 ,也适用于 VBA, 很久以前,写 VBA 的时候,就觉得使用 Array 很不方便,因为大小固定, 当时想的是,要是 Array ...

随机推荐

  1. 后缀自动机(SAM):SPOJ Longest Common Substring II

    Longest Common Substring II Time Limit: 2000ms Memory Limit: 262144KB A string is finite sequence of ...

  2. Delphi NativeXml用法攻略 转

    NativeXml可以在官网上下载,下载后将文件夹放在指定地方,打开DELPHI在其环境变量中引用NativeXml路径,然后在程序中引用NativeXml单元,我们就可以使用NativeXml了. ...

  3. VMware宿主机和虚拟机的网络连接问题

    今天在win8上装了个vmware虚拟机,却发现一个vmware workstation宿主机ping不通centos虚拟机,宿主机和centos虚拟机都可以正常上网. 问题描述:今天在vmware ...

  4. Android通过类对象的方式实现JSON数据的解析

    1.通过主Activity的Button按钮实现数据的解析 public class MainActivity extends Activity { //定义一个包含Json格式的字符对象 priva ...

  5. Dividing (多重背包 搜索)

    / 第一个多重背包题目 真的不理解二进制优化 /http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?cid=10594&pid=1 ...

  6. hive 模块

  7. Amazon API Gateway Importer整合过程小结

    (1)需要将swagger json转换成amazon api gateway 所需要的格式(根据Method Request中 Request PathsURL Query String Param ...

  8. pat 1062. Talent and Virtue (25)

    难得的一次ac 题目意思直接,方法就是对virtue talent得分进行判断其归属类型,用0 1 2 3 4 表示 不合格 sage noblemen foolmen foolmen 再对序列进行排 ...

  9. [PWA] 13. New db and object store

    Create a db: import idb from 'idb'; var dbPromise = idb.open('test-db', 2, function (upgradeDb) { sw ...

  10. RESTEasy + JBOSS 7 Hello world application---reference

    RESTEasy is JBOSS provided implementation of JAX-RS specification for building RESTful Web Services  ...