注意: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. jmeter之连接mysql和SQL Server配置

    下载jdbc驱动 在使用jmeter做性能或自动化测试的时候,往往需要直接对数据库施加压力,或者某些参数只能从数据库获取,这时候就必须使用jmeter连接数据库. 1.下载对应的驱动包 mysql驱动 ...

  2. python3: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory

    安装python3遇到报错: wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz ./configure --prefix=/u ...

  3. DOS下命令符开启wifi无internet访问解决办法

    先按win+R 输入cmd netsh wlan set host mode=allow ssid=nothing key=323435435 (ssid后面的可以任意,key后面最少8个字符) 我的 ...

  4. DIV宽度设置成100%,浏览器窗口缩小后,右边出现留白

    解决办法:给body添加min-width属性

  5. 常用算法——排序(一)

    排序(Sort)是计算机程序设计中的一种重要操作,也是日常生活中经常遇到的问题.例如,字典中的单词是以字母的顺序排列,否则,使用起来非常困难.同样,存储在计算机中的数据的次序,对于处理这些数据的算法的 ...

  6. BZOJ 1691: [Usaco2007 Dec]挑剔的美食家 [treap 贪心]

    1691: [Usaco2007 Dec]挑剔的美食家 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 786  Solved: 391[Submit][S ...

  7. javascript中的闭包

    闭包一直是javascript中的难点,也比较不容易被初学者所掌握,"官方"的解释是:所谓"闭包",指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是 ...

  8. ELK日志系统:Filebeat使用及Kibana如何设置登录认证

    根据elastic上的说法: Filebeat is a lightweight, open source shipper for log file data. As the next-generat ...

  9. [LeetCode] Sparse Matrix Multiplication 稀疏矩阵相乘

    Given two sparse matrices A and B, return the result of AB. You may assume that A's column number is ...

  10. [LeetCode] Reverse Words in a String 翻转字符串中的单词

    Given an input string, reverse the string word by word. For example, Given s = "the sky is blue ...