数组:

Js数组 可以存放任意数据类型的数据

如果索引大于数组的长度,数组自动增加到该索引值加1的长度

var arr = ["terry","larry","boss"];

arr[3] ="jacky"; //添加元素,数组程度变为4

注意!数组最多可以包含4 294 967 295个项

方法:

Sort():如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字

默认排序:该方法会调用每个数组项的toString() 方法,然后按照字符序列排序

自定义排序:

a.该方法可以接受一个比较函数作为参数,比较函数有两个参数

b.如果第一个参数位于第二个参数之前,返回负数

c.如果第一个参数位于第二个参数之后,返回正数

例如:

1, function compare(a,b){

if(a>b){

return -1;

}else{

return 1;

}

}

console.log(arr.sort(compare));

2, function com(attr,rules){

if(rules=='升序'){

return function(a,b){

if(a[attr]<b[attr]){

return -1;

}else{

return 1;

}

}

}else{

return function(a,b){

if(a[attr]>b[attr]){

return -1;

}else{

return 1;

}

}

}

}

stu.sort(com('age','降序'));

console.log(stu);

Function Sort(fun){

Fun();  //sort内部会执行传入的函数,所以只需传入一个参数的引用即可

}

数组序列化:

toString() 在默认情况下都会以逗号分隔字符串的形式返回数组项

join(); 使用指定的字符串用来分隔数组字符串

截取方法:

concat()

数组拼接,先创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,返副本,不改变原数组。

slice()

数组切割,可接受一个或者两个参数(返回项的起始位置,结束位置),当接受一个参数,从该参数指定的位置开始,到当前数组末尾的所有项。当接受两个参数,起始到结束之间的项,但是不包含结束位置的项。不改变原数组

splice()

向数组的中部插入数据将始终返回一个数组,该数组中包含从原始数组中删除的项。

删除:指定两个参数(删除的起始位置,要删除的项数)

插入:指定三个参数(起始位置,0,要插入的项任意数量的项)

替换:指定三个参数(起始位置,要删除的项,要插入的任意数量的项)

索引方法

indexOf()

从数组开头向后查找,使用全等操作符,找不到该元素返回-1。第一个参数为要查找的项,第二个参数(可选)为索引开始位置

lastIndexOf()

迭代方法

every()

对数组中的每一运行给定的函数,如果该函数对每一项都返回true,则该函数返回true

some()

对数组中的每一运行给定的函数,如果该函数对任一项都返回true,则返回true

filter()

对数组中的每一运行给定的函数,会返回满足该函数的项组成的数组

map()

对数组中的每一运行给定的函数,返回每次函数调用的结果组成的数组

forEach()

对数组中的每一运行给定的函数,没有返回值,常用来遍历元素

如何把类数组对象转化为数组对象?

需要用到Array类型中的slice方法,再结合call方法

day4-2数组及方法的更多相关文章

  1. ES6之数组扩展方法【一】(相当好用)

    form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...

  2. 再探JS数组原生方法—没想到你是这样的数组

    最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...

  3. 一些ES5的操作数组的方法

    在ES5规范中新增了不少操作数组的方法,特此罗列一下以备使用 1. forEach循环 有点类似jQuery的each循环 [12,23,36,4,5].forEach(function(v,k){ ...

  4. 关于ES3、ES5、ES6以及ES7所有数组的方法(api)的总结

    起因:工作用经常用到操作数组的方法,这里进行一下总结,我尽量以简洁的语言概括每个方法(api)的作用.如果您想快速定位,可以Control+F 然后搜相应的方法即可定位 :) ES3的数组方法 joi ...

  5. IOS开发_中遍历数组的方法及比较

    数组,做为一种常用的数据类型,频繁出现在编码中,其中肯定少不了对数组的遍历,本博文对数组遍历,进行一下自己的归纳,如果是大牛,一笑而过就好,互相学习,欢迎指正. 话不多说直接进入主题 首先创建一个数组 ...

  6. php遍历循环数组实现方法

    简单利用foreach for list each while来遍历数组,包括普通的一维数组与二维数组遍历方法,下面详细的介绍了每个函数的使用方法. $foreach = array(1,2,3); ...

  7. 数组的方法 Array.map();Array.every()和Array.some();数组的indexof();检测是否是数组isArray(obj);

    数组的方法 Array.map(); 栗子: var a=[1,2,,3]; var b=a.map( function(value){return value*value} ); alert(b); ...

  8. java基础学习04(数组与方法)

    数组与方法 一.完成的目标 1. 掌握数组的定义.使用方法.引用传递 2. 掌握方法及其方法的重载 3. 使用方法接收和返回一个数组 4. java新特性对数组的操作支持 二.数组的定义和使用 数组是 ...

  9. PHP 遍历数组的方法汇总

    1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. #example1: <?php $colors= array('red','blue','green' ...

  10. .net学习之.net和C#关系、运行过程、数据类型、类型转换、值类型和引用类型、数组以及方法参数等

    1..net 和 C# 的关系.net 是一个平台,C#是种语言,C#语言可以通过.net平台来编写.部署.运行.net应用程序,C#通过.net平台开发.net应用程序2..net平台的重要组成FC ...

随机推荐

  1. django-cors-headers

    django-cors-headers介绍 一个Django应用程序,向响应头中添加跨域资源共享(CORS)头.这允许从其他来源向Django应用程序发出浏览器内请求,当然也可以自定义中间件然后添加响 ...

  2. Python - Git for windows 下使用 交互式命令行

    1. 概述 尝试在 windows 环境的 git 命令行使用 python3 的交互模式 2. 环境 OS win10 1905 git 2.20.1 mintty 2.9.4 python 3.7 ...

  3. PHP中使用CURL实现Get和Post请求方法

    1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL的一些高级特性, ...

  4. HttpClient与TestNG结合

    1.HTTPclient插件的安装 在maven项目的pom.xml中引用HTTPclient包,如下 <dependencies> <dependency> <grou ...

  5. AngularJS请求数据提示resource from url not allowed by $sceDelegate policy

    AngularJS iframe跨域打开内容时报错 解决方案 使用  $sceDelegateProvider  配置跨域请求域名 config.js app.config(function($sce ...

  6. word中如何删除一张空白表格

    百度知道:https://baijiahao.baidu.com/s?id=1631677477148377412&wfr=spider&for=pc 当word中出现如下一张空白表格 ...

  7. Python3 post 嵌套json

    目录 python3 post json burpsuite 抓取 python requests 数据包 小结 python3 post json 前些天python3 post出现的小问题做下记录 ...

  8. [转]Serverless

    说起当前最火的技术,除了最新的区块链,AI,还有一个不得不提的概念是Serverless.Serverless作为一种新型的互联网架构直接或间接推动了云计算的发展,从AWS Lambda到阿里云函数计 ...

  9. Bug搬运工-CSCvn51483:AP datasheet should contain info if the AP contains or not temperature sensor

    目前在老一些的思科AP上,应该都没有温度传感器的功能(例如AP1600,wave 1 AP1700...),但是在思科官方没有明确的文档去说明这个问题. 在Outdoor AP(室外AP,例如AP15 ...

  10. Android学习01

    一.线性布局(Linerlayout)和相对布局(Relativelayout) 线性布局可以分为水平线性布局(vertical)和垂直线性布局(horizontal)这两种布局方式weight权重按 ...