数组的有关属性和方法
- 数组的创建
- 通过构造函数
- var arr = new Array();
- 如果预先知道要保存的项目的数组的数量,也可以给构造函数传递该数量。并且该数量会自动变成length属性的值。
- var colors = new Array(20);
- 也可以向Array构造函数传递数组中的应该包含的项
- var colors = new Array(1, 2,3,4)
- 在使用Array构造函数时也可以省略new操作符
- 创建数组的第二种方式是使用数组字面量表示法
- var color = 【‘red’,‘blue’,‘green’】;
- var names = 【】;
- 获取数组的里面的值,可以通过索引来获取 array【index】;
- 数组的长度length,很有特点他不是自读的。因此,通过设置这个属性,可以从数组的末尾移除项或向数组中添加新项。也即是说如果向数组中动态的添加或移除时,数组的length也会跟着改变。
- 检测数组
- 确定某个对象是不是数组 instanceof if (obj instanceof Array) {}
- Array.isArray () 这个方法目的是最终确定某个值到底是不是数组,而不管它是那个在哪个全局执行环境中创建的。 if (Array.isArray (obj) ) {}
- 转换方法
- 所有对象都具有 toLocaleString() ,toString()和 valueOf()方法。
- toString(),调用数组的toString()方法会返回数组中每个值的字符串形式拼接而成的一个以逗号分割开的字符串。
- valueOf() ,调用该方法返回的还是数组
- toLocaleString()方法经常也返回与toString()和valueOf()方法相同的值。但也不总是如此。当调用数组的toLocaleString()方法时,它也创建一个数组值的以逗号分割的字符串。而与前俩个方法唯一不同之处在于,这一次为了取得每一项的值,调用的是每一项的toLocaleString()方法。
- join() 可以使用不同的分隔符来构建这个字符串。直接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串。不传值的话,默认逗号。
- 栈方法
- push()方法可以接受任意数量的参数,把他们逐个添加到数组的末尾,并返回修改后数组的长度。
- pop()方法则从数组末尾移除最后一项。减少数组的length'值,返回移除的项。
- 队列方法
- shift() 能够移除数组中的第一项并返回该项,同时数组长度减一。
- unshift() 能在数组前端添加任意个项并返回新数组的长度
- 注意:删除时,返回的是删除的哪一项。添加时,返回的是增加后的数组的长度。
- 重排序方法
- reverse() 会反转数组项的顺序。
- sort() 接受一个函数,按一定的额顺序排列。
- function compare(value1, value2) {return value2-value1;}
- 操作方法
- concat()
- 没有传值时,它只是复制当前数组并返回
- 传递的是一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组当中
- 传递的值不是数组,这些值就会被简单地添加到结果数组的末尾。
- 返回的合并后的数组
- slice(start,end)
- 一个参数,返回从该参数指定位置开始到当前数组末尾的所有项。
- 二个参数,该方法返回起始和结束位置之间的项,但不包括结束位置的项。slice()方法不会影响原始数组。
- splice()的主要用途是向数组的中部插入项。
- 删除:可以删除任意数量的项,只需指定2个参数。要删除的第一项的位置和要删除的项数。
- 插入:可以向指定位置插入任意数量的项,只需提供三个参数。起始位置,0(要删除的额项数),和要插入的项。如果要插入多项,可以再传入第四,第五。。。。
- 替换:可以向指定位置 插入任意数量的项,且同时删除任意数量的项,只需指定三个参数。起始位置,要删除的项数,和要插入的任意数量的项。插入的项数不必与删除的项数相等。
- 位置方法
- indexof()。 接受俩个参数, 开始的位置,要查找到项。(从头开始)
- lastIndexOf()。接受俩个参数。 起始的位置,和要查找的项。(从后)
- 这俩个方法都返回要查找的项在数组中的位置。或者再没找到的情况下返回-1.在比较第一个参数与数组中的每一项时,必须使用全等操作符;也就是说,要求查找的项必须严格相等。
- 迭代方法:5个迭代方法,每个方法接受俩个参数,要在每一项上运行的函数和(可选的)运行该函数的作用域对象----影星this的值。传入这些方法中的函数接收三个参数:数组项的值,该项在数组中的位置和数组对象本身。
- every():对数组中的每一项运行给定的函数,如果该函数的每一项都返回true,则返回true。
- filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。
- forEach():对数组中的每一项运行给定函数,这个方法没有返回值。
- arr.forEach(function (value,index) {})
- 参数是一个回调函数,回调函数有俩个参数:
- 第一个参数表示:数组的当前值
- 第二个参数表示:当前的索引号
- 注意;函数里面的this指向window
- map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
- 不仅能遍历数组而且能返回一个新的数组
- arr.map(function (value,index) {})
- 参数是一个回调函数,回调函数有俩个参数:
- 第一个参数表示:数组的当前值
- 第二个参数表示:当前的索引号
- 注意;函数里面的this指向window
- some():对数组中的每一项运行给定函数,如果该函数对数组中的某一项返回true,则返回true。
- 缩小方法:
- reduce()
- reduceRight()
转载于:https://www.cnblogs.com/webbeyond/p/5933239.html
数组的有关属性和方法相关推荐
- JavaScript | 数组的常用属性和方法
JavaScript的通用属性和数组方法 (Common properties and methods of array in JavaScript ) Properties/Methods Desc ...
- Array 属性和方法
1. Array 属性 属性 描述 使用语法 constructor 返回创建数组对象的原型函数. array.constructor length 设置或返回数组元素的个数. array.lengt ...
- 操作数组常用的几种方法
1.forEach--循环遍历 forEach用于循环遍历数组最常用的方法之一,它提供一个回调函数,可用于处理数组的每一个元素,默认没有返回值.回调函数的参数,第一个参数是数组的每一项,第二个参数是数 ...
- javascript数组的属性、方法和清空-最全!!!(必看)
今天经理要我从新看一遍js,当我再看<精通js和jquery>这本书时,发现关于数组的这章节讲的很少,于是想自己总结一下数组的常用方法. 定义数组: var arr = new Array ...
- 【Java2】一维数组,家庭收支界面,/属性和方法,方法重载,变量分类,可变参数,包
文章目录 1.一维数组:int[ ] a = { } 1.1 数组的内存分析(静态):数组名=首地址 1.2 数组的内存分析(动态):元素默认值 1.3 数组相关算法: 1.3.1 找最值:array ...
- javascript-数组数据类型属性和方法-数组的遍历
数组的属性与方法 长度 尾部添加与删除 头部插入 头部删除与尾部删除 测试头部删除的其它用法,不可行 有返回值的方法,是可以用变量来接收的 pop方法,不管怎么传参,都只删最后一个 unshift p ...
- JavaScript学习(六十六)—字符串对象常用的属性和方法总结以及数组元素的排序问题
JavaScript学习(六十六)-字符串对象常用的属性和方法总结以及数组元素的排序问题 学习内容 一.数组去重问题 二.二维数组的定义 三.二维数组的元素操作 四.二维数组的遍历 五.关联数组 六. ...
- JavaScript数组属性和方法
数组 字面量声明数组 let arr = [1,2,3,4] 构造函数声明数组 let arr = new Array(1,2,3) arr[0] = "a" arr[1] = & ...
- 数组的length属性和String的length()方法
数组有length属性,没有length()方法,如: int[] a; a.lengh; //返回a的长度. String只有length()方法,没有length属性,如: String s; ...
最新文章
- uscao 线段树成段更新操作及Lazy思想(POJ3468解题报告)
- xcode 4.2 不再支持 Window-Based Application 的解决办法(转载)
- postfix 遇到的问题
- Python技术分享:numpy库的安装教程
- 唱歌如何保持高位置_歌唱中如何找到声音的高位置,内容详解
- Exp8 web基础
- Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
- 滴滴Booster移动APP质量优化框架 学习之旅 三
- 复习Linux基本操作----常见指令
- 图论基础知识--最小生成树算法kruskal(克鲁斯克尔)和普里姆算法(Prim算法);最短路径算法Dijkstra(迪杰斯特拉)和Floyd(弗洛伊德)
- (19)FPGA面试题设计前端流程
- 模拟集成电路设计(拉扎维)第四章学习笔记
- Verilog HDL 出租车计费器实现
- python 平方公里和英亩单位转换
- Windows 软件定义存储S2D 测试
- 01-使用EasyExcel读取和写入Excel文件
- 2020春节假期VR/AR资讯汇总
- php 利用phpmailer 发送邮件
- idea2018 2020_UAL坎伯韦尔艺术学院2020届研究生毕业作品展精选
- 昆明睿正科技有限公司-创业之初
热门文章
- boost log 能不能循环覆盖_前端基础进阶(十四):深入核心,详解事件循环机制...
- VS2015占内存大吗?_手游越来越占内存,80%的手机安装一个大游戏就满了,厂商肉搏...
- atomic原子类实现机制_JUC学习笔记--Atomic原子类
- python 三分钟入门_Cython 三分钟入门教程
- 学生管理系统(C语言版)
- python视频延迟严重_【Python】改善 VideoCapture 的影像延迟
- 突破微信小程序五层层级限制的解决方案
- Spring Cloud整合Redis
- K-Means聚类算法原理
- Spring事务管理的底层逻辑—源码解析