数组:

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. Good Bye 2019E(点坐标缩小一半以区分奇偶性)

    设某个点的坐标为(x,y),根据坐标奇偶性公可分为四类,0表示偶数,1表示奇数,(0,0),(0,1),(1,0),(1,1). 如果所有点的坐标都属于一类,那么它们之间的距离都是4的倍数,无法分辨. ...

  2. PHP通过thrift2访问HBASE

    前一段时间需要在网页上显示HBASE查询的结果,考虑用PHP来实现,在网上搜了一下,普遍都是用thrift作为接口来实现的.​ 参考博文:​ http://www.cnblogs.com/scotom ...

  3. Python 语法特点:注释/编写规则/命名规范

    1.注释 1)单行注释     # 2) 多行注释   前后三个单引号或双引号   ‘’‘  ...  '''    """  ...""" ...

  4. laravel框架学习笔记

    一.laravel的安装 1.composer 作用:主要管理php中的依赖关系(类似于yum源) 可以安装的软件: curl    //主要用到微信开发中 upload //文本操作 excel / ...

  5. oop(面向对象)中的内置函数

    oop中的内置函数 ​ 类中存在一些名字带有双下划线__开头的内置函数, 这些函数会在某些时候被自动调用,例如之前学习的迭代器__init__函数 一.isinstance(obj, cls) 检查o ...

  6. 使用notepad++运行python

    参考博客:https://blog.csdn.net/humanking7/article/details/80464000 尽管有pycharm和spyder这样的IDE可以编写python程序,但 ...

  7. Kettle-User Defined Java Class使用-大写转换

    一.大写转换 (1)步骤(表输入-Java脚本-表输出) (2)配置 1)表输入 2)java脚本 public boolean processRow(StepMetaInterface smi, S ...

  8. 【C语言】创建一个函数,将输入的2个数排序

    #include <stdio.h> void fun(int *x,int*y) { int t; if(*x>=*y) { t=*x;*x=*y;*y=t; } } main() ...

  9. sort的使用

    sort主要是用来排序的,可以用自定义的函数进行比较,也可以用系统的4中函数进行比较,即less(),greater(),less_equal(),greater_equal().但是我试了一下,发现 ...

  10. string和stringBuffer,stringBuilder的区别

    1,String类的内容一旦声明后是不可改变的,改变的只是其内存的指向,而StringBuffer类的对象内容是可以改变的. 2,对于StringBuffer,不能像String那样直接通过赋值的方式 ...