javascript数组array
注意: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的更多相关文章
- Javascript数组Array的forEach方法
Javascript数组Array的forEach扩展方法 forEach是最常用到的数组扩展方法之一,相当于参数化循环数组,它简单的在数组的每一个元素上应用传入的函数,这也意味着只有存在的元素会被访 ...
- JavaScript 数组(Array)对象的方法
JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...
- javascript数组Array强大的splice()方法
javascript的Array数组提供了强大的splice()方法, 用于对数组元素的增删改 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 删除: ...
- JavaScript 数组(Array)方法汇总
数组(Array)常用方法; 数组常用的方法:concat(),every(), filter(), forEach(), indexOf(), join(), lastIndexOf(), map ...
- JavaScript 数组(Array)对象
Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...
- JavaScript 数组-Array的方法总结
JavaScript中的Array类型是经常用到的,Array类型也提供了很多方法能实现我们需求,下面我们来总结一下 一.创建Array的方法 1.使用Array构造函数 var colors=new ...
- 测试JavaScript数组Array
<script> var numbers = [1, 2, 3, 4, 5]; function isLessThan3(value,index,array) { var returnVa ...
- Javascript数组Array的方法总结!
1.join() 将数组的元素组成一个字符串,以分隔符连接,如果省略则默认逗号为分隔符,该方法只接收一个参数:分隔符.此方法不会改变原数组. let arr = [1,2,3,4] let arr1 ...
- JavaScript 数组(Array)方法(二)
forEach ES5新增的方法,Arr.forEach((value, index,array)=>{}); let arr=['a','b','c']; arr.forEach((val,i ...
随机推荐
- pitch yaw roll是什么
虚拟现实 三维空间的右手笛卡尔坐标如图1所示. 图1 在航空中,pitch, yaw, roll如图2所示. pitch是围绕X轴旋转,也叫做俯仰角,如图3所示. yaw是围绕Y轴旋转,也叫偏航角,如 ...
- IISExpress Log 文件路径
问题 用VS做开发时经常用IISExpress测试web程序,那么在测试过程中生成的Log文件放在哪里了? 答案 情况1 默认情况下 applicationhost.config 文中定义了连个日志文 ...
- Maven build lifecycle
Clean Lifecycle 运行mvn clean执行clean生命周期,包含三个生命周期阶段: pre-clean clean post-clean clean:clean会删除一次构建后的输出 ...
- 2016年Web前端面试题目
以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中无法解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正.:) HTML/CSS部分 1. ...
- 【repost】JavaScript Scoping and Hoisting
JavaScript Scoping and Hoisting Do you know what value will be alerted if the following is executed ...
- JAVA设计模式之1-单例模式
设计模式是什么? 设计模式是一种思路,是在前辈们的软件工程中总结出来的套路,并且这些套路已经经过很多项目的测试,是比较成熟的思路,所以现在来总结一下常见的设计模式. 最简单最常用的就是单例模式: 一般 ...
- [LeetCode] Excel Sheet Column Number 求Excel表列序号
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
- .Net4.0以上使用System.Data.Sqlite
最近对Sqlite感兴趣,就尝试了一下用c#连接,我用的版本是vs2013,默认开发环境是.net4.5,,按照网上的教材,下载了System.Data.Sqlite,然后写了下面这个简单的测试代码, ...
- block
不使用__block修饰: ; self.myBlock = ^(){ NSLog(@"block num == %d",num); }; num = ; self.myBlock ...
- iOS中获取当前时间,设定时间,并算出差值
NSDate *date = [NSDate date];//获取当前时间 NSTimeZone *zone = [NSTimeZone systemTimeZone];//修改时区 NSIntege ...