注意: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. 在使用EF时调用DBFUNCTION扩展方法时,发生ENTITYCOMMANDEXECUTIONEXCEPTION 异常的解决办法

    System.Data.Entity.Core.EntityCommandExecutionException : An error occurred while executing the comm ...

  2. 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting

    一.序言   陆陆续续的如果累计起来,我估计至少有二十来位左右的朋友加我QQ,向我咨询有关抠图方面的算法,可惜的是,我对这方面之前一直是没有研究过的.除了利用和Photoshop中的魔棒一样的技术或者 ...

  3. 【repost】JavaScript完美运动框架的进阶之旅

    运动框架的实现思路 运动,其实就是在一段时间内改变left.right.width.height.opactiy的值,到达目的地之后停止. 现在按照以下步骤来进行我们的运动框架的封装: 匀速运动. 缓 ...

  4. 树上启发式合并 (dsu on tree)

    这个故事告诉我们,在做一个辣鸡出题人的比赛之前,最好先看看他发明了什么新姿势= =居然直接出了道裸题 参考链接: http://codeforces.com/blog/entry/44351(原文) ...

  5. weui 弹框中的单选效果

    <!--性别修改弹框--> <div class="weui_dialog_alert" id="doctorSexDialog" style ...

  6. 如何用Azure Web App Services接入微信公众号

    注:本文提到的代码示例下载地址>如何用Azure Web App Services接入微信公众号 如何用Azure Web App Services接入微信公众号 简介 此示例演示如何创建Azu ...

  7. Ajax入门(一)

    最近开始学习Ajax了0.0,虽然其他的还没巩固,但既然学了就先写下来吧... Ajax的定义呢,百度吧= =...就觉得最实用的地方就是页面无刷新,但网页实现了与后台的同步更新.   1, 首先创建 ...

  8. MySQL字符串函数substring:字符串截取

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  9. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  10. mysql 多版本并发控制

    查看事务隔离级别 SHOW VARIABLES LIKE "%iso%" MVCC 通过给每张表多加两个隐藏列来实现,一个保存了行的创建时间,一个保存了行的过期时间(或删除时间), ...