注意:1.array的length不是只读的。可以从数组的末尾移出项或者向数组中添加新项。看下面例子:

var colors = ["red","yellow","blue"];
colors.length = 2;
console.info(colors[2]);
结果:undefined
原因:将length属性设置为2会移出最后一项。如果将length设置大于数组长度,则新增的每一项都是undefined值。

利用length可以方便的在数组末尾添加新项,如:
var colors = ["red","yellow","blue"];
colors[colors.length] = "gray";
colors[colors.length] = "white";

toString()、toLocaleString()和valueOf()区别:

toString()就是用字符串来代替对象。
toLocaleString()就是根据不同的语言环境吧对象转成字符串,实际上totolocalstring()是有缺省参数的,如toLocaleString('ko-ka')是根据韩国的语言格式转化,显示出来就是鸟文。
valueOf()就是一个获取对象原始值的方法,数组的原始值当然是它本身。

在默认情况下,会以逗号分隔的字符串的形式返回数组项,而使用join()方法,则可以使用不同的分隔符。如:
var colors = ["red","yellow","blue"];
colors = colors.join("||");
console.info(colors);
结果:red||yellow||blue

一、检测数组
问题:如何确定某个对象是否是数组?
解答:对于一个网页或者一个全局作用域而言,使用instanceof就可以达到结果。
if(value instanceof Array){
}
instanceof作用于单一的全局执行环境。如果网页包含多个框架,实际上就会有2个以上的全局执行环境,从而存在两个不同版本的
构造函数。如果从一个框架向另一个框架传入一个数组,那么传入的数组与第二个框架中原生创建的数组分别具有各自不同的构造
函数。
为了解决这个问题,ECMAScript新增了Array.isArray()方法来确定是不是数组。而不管它是哪个全局的执行环境。
支持Array.isArray()方法的浏览器有IE9+,FireFox4+和Chrome

栈方法
栈是一种LIFO的数据结构,数组有push()pop()方法,可以实现类似栈的行为。
push()可以接收任意数量参数,将其添加到数组末尾,并返回修改后的数组长度。
pop()从末尾移出最后一项,减少数组的length,返回移出项
队列方法
队列:是FIFO数据结构,因为push()可以在末尾添加,只需要一个从数组前端取的项的方法就能实现队列。
shift()能够移出第一项,并返回该项,数组长度减1。

数组迭代方法:
every()、filter()、forEach()、map()和some()
例子:
var numbers = [1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item, index,array){
  return (item > 2);
});
console.info(everyResult);

var someResult = numbers.some(function(item, index,array){
  return (item > 2);
});
console.info(someResult);

var filterResult = numbers.filter(function(item, index,array){
  return (item > 2);
});
console.info(filterResult);

var mapResult = numbers.map(function(item, index,array){
  return (item > 2);
});
console.info(mapResult);

结果:false   true   [3, 4, 5, 4, 3]   [false, false, true, true, true, true, true, false, false]
every():数组传入的函数必须每一项都返回true,这个方法才返回true
some():只要传入数组函数有一项满足,就返回true
filter():将数组中满足条件的数据项组成新的数组返回
map():在原始数组的基础上进行运算,并将每一项的结果组成新的数组返回

javascript数组array的更多相关文章

  1. Javascript数组Array的forEach方法

    Javascript数组Array的forEach扩展方法 forEach是最常用到的数组扩展方法之一,相当于参数化循环数组,它简单的在数组的每一个元素上应用传入的函数,这也意味着只有存在的元素会被访 ...

  2. JavaScript 数组(Array)对象的方法

    JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...

  3. javascript数组Array强大的splice()方法

    javascript的Array数组提供了强大的splice()方法, 用于对数组元素的增删改 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 删除: ...

  4. JavaScript 数组(Array)方法汇总

    数组(Array)常用方法; 数组常用的方法:concat(),every(), filter(), forEach(),  indexOf(), join(), lastIndexOf(), map ...

  5. JavaScript 数组(Array)对象

    Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...

  6. JavaScript 数组-Array的方法总结

    JavaScript中的Array类型是经常用到的,Array类型也提供了很多方法能实现我们需求,下面我们来总结一下 一.创建Array的方法 1.使用Array构造函数 var colors=new ...

  7. 测试JavaScript数组Array

    <script> var numbers = [1, 2, 3, 4, 5]; function isLessThan3(value,index,array) { var returnVa ...

  8. Javascript数组Array的方法总结!

    1.join() 将数组的元素组成一个字符串,以分隔符连接,如果省略则默认逗号为分隔符,该方法只接收一个参数:分隔符.此方法不会改变原数组. let arr = [1,2,3,4] let arr1 ...

  9. JavaScript 数组(Array)方法(二)

    forEach ES5新增的方法,Arr.forEach((value, index,array)=>{}); let arr=['a','b','c']; arr.forEach((val,i ...

随机推荐

  1. Web.xml配置详解

    (转自:http://www.cnblogs.com/chinafine/archive/2010/09/02/1815980.html) 1 定义头和根元素 部署描述符文件就像所有XML文件一样,必 ...

  2. Vmware虚拟机Devstack安装openstack(All in one)

    Vmware虚拟机Devstack安装openstack(All in one) 博客园第一篇博客,先练习一下. 官方文档 环境 Vmware虚拟机 OS : Ubuntu 14.04 Nat网络,D ...

  3. 一个简单移动页面ionic打包成app

    先贴JS代码好了,缓动和调整透明度的功能,最后用ionic打包成应用就可以 window.onload=function(){ search(); move(); calc();}function s ...

  4. IntelliJ idea创建Spring MVC的Maven项目

    参考:http://my.oschina.net/gaussik/blog/385697?fromerr=Pie9IlFV 创建Maven Web项目 菜单File->New Project可进 ...

  5. 使用stylelint对CSS/Sass做代码审查

    对样式审查?很少人会这么做吧,但实际上开发者应该有这样的态度,尤其是不同团队多人开发时,这一点尤为重要. 在本文中,我将陈述两点:一是为什么我们需要对样式进行审查,二是如何将审查工具融合到整体的构建流 ...

  6. xp 下查看进程指令

    xp 下快速查看进程及关联 exe 的指令,刚发现,还没有测试 win7 和 win10 支持不支持. wmic process where creationclassname="win32 ...

  7. WEB – Architecture

  8. [bigdata] 从Cloudera Manager中彻底删除服务器

    1. 在CM中主机页里,选定要删除的服务器,选择操作“从群集中删除”. 2. 登录到主机,执行chkconfig,显示有cloudera-scm-agent服务, 执行service cloudera ...

  9. HTML5规范-相关资料链接(大多都是英文文档)

    网站做的更规范,尽量选择正确的HTML5结构元素.地址:http://html5doctor.com/happy-1st-birthday-us/#flowchat 了解算法和分块      知道文档 ...

  10. spring mvc(前置控制器)(转载)

    (此文转载:http://www.cnblogs.com/brolanda/p/4265749.html) 一.前置控制器配置与讲解 上篇中理解了IOC容器的初始化时机,并理解了webApplicat ...