数组:

  概念:是一种特殊的对象。

    与普通对象的区别:a.普通对象使用字符串作为属性名,而数组使用数字作为索引来操作元素;

             b.数组的存储性能比普通对象好

  数组的标志:[ ]

  数组的索引:是从0开始的整数;

  数组的长度:arr.length。对于连续的数组,使用length属性可获取数组的长度,而非连续的数组,使用length获得的是数组的最大索引+1

  创建数组对象:构建函数法:var arr = new Array() ——当小括号里为一个数时,默认是该数组的长度;

         字面量创建数组:var arr = [];

  Tip:数组中的元素可以是任意类型,包括对象、函数

数组的方法

  push():向数组的末尾添加一个或多个元素,并返回数组新的长度

     可以将要添加的元素作为方法的参数传递,这样这些元素会自动添加到数组末尾

  pop(): 删除数组的最后一个元素并且返回被删除的元素

  unshift():向数组的开头添加一个或多个元素并返回新的长度

  shift() :删除数组第一个元素并将被删除的元素作为返回值

  sort():对数组的元素进行排序:arr.sort(function(a,b)){return b-a};

      b-a为降序,a-b为升序

  revere():倒序,与sort相反

  splice():替换、插入、删除;会影响到原数组,将被删除的值返回;

      arr.splice(m,n,data1,data2)——从m开始,共n个,替换成data2

  slice():截取,不改变原数组;

      arr.slice(m,n);m为开始位置,n为结束位置

        假如n不写,截取到的则是从m到最后;假如n为-1,则从倒数开始截取

  concat():可以连接两个或多个数组,并将新的数组返回,不对原数组造成影响

        var result = arr.(arr2,arr3);或者 arr.concat(arr2,"123");

  join():将数组连接转成字符串,对原数组无影响

      join可以将指定字符串作参数,这个字符串将成为数组元素中的连接符

  

  ES5新增的数组方法:

    forEach():遍历数组,需要一个函数作为参数(value,index,object)

          数组中有几个元素就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,我们可以定义形参来读取内容

    map():遍历当前数组,然后调用参数中的方法,返回当前方法的返回值

    filter():同map()一样,但是返回值为布尔值true时,才返回数据,过滤筛选,组成新的数组返回

    every():遍历数组,函数对每一项都返回true才返回true

    some():其中一项返回true,则true(返回true后不在循环)

    indexOf():返回指定value的索引位置

    lastIndexOf():从后往前找,但索引值不变

    reduce():迭代,收敛;返回值是最后一次函数调用时的返回值,不写true时,默认返回underfined

    reduceRight():与reduce相反

    

整理所学,如果错误,还望指出。

    

  

  

js基础——数组的概念及其方法的更多相关文章

  1. JS基础——数组总结

    JS中数组被觉得是一种对象,慢慢的,怎么忽然感觉,JS中仅仅要能够独立出来的概念怎么都能够当成对象来解释呢?有点儿怀疑.继续学吧.先来总结一下JS中数组是怎样详细使用的. 一.创建 数组的创建在JS中 ...

  2. 【Javascript】JS遍历数组的三种方法:map、forEach、filter

    前言 近一段时间,因为项目原因,会经常在前端对数组进行遍历.处理,JS自带的遍历方法有很多种,往往不加留意,就可能导致知识混乱的现象,并且其中还存在一些坑.前端时间在ediary中总结了js原生自带的 ...

  3. js删除数组中元素的方法

    一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...

  4. js基础-数组及数据类型

    数组也是引用类型 构造函数创建数组 Object 构造函数类型(所有类型基类)   Array 构造函数类型 求幂运算符 **   2**32-1 数组容量最大 arry.length 如果减小len ...

  5. JS基础语法---Array对象的方法

    Array对象的方法   Array.isArray(对象)---->判断这个对象是不是数组 instanceof关键字 判断对象是不是数组类型:两种方法: //1 instanceof var ...

  6. js基础---数组方法

    数组数据的排序及去重 sort无形参的排序方式 arr1=[2,12,3,15]; var a=arr1.sort();console.log(arr1);console.log(a);//排序会改变 ...

  7. JS合并数组的几种方法及优劣比较

    本文属于JavaScript的基础技能. 我们将学习结合/合并两个JS数组的各种常用方法,并比较各种方法的优缺点. 我们先来看看具体的场景: var q = [ 5, 5, 1, 9, 9, 6, 4 ...

  8. js中数组遍历常用的方法

    常见的数组遍历方法,比如 for in,for  of, forEach,map,filter,every,some,find,reduce等 1,普通for循环,经常用的数组遍历 var arr = ...

  9. JS中数组和字符串的方法大全

    数组的方法很多,ECMScript5又提供了好几种方法.有空把之前的云上的笔记整理了一下,方便自己以后查找使用. 一.ECMScript 3的Array.prototype中定义的方法 1.join( ...

随机推荐

  1. mybatis oracle 逆向工程

  2. shell 脚本同时对远程多台机器执行命令

    脚本1:需要机器之间免密 ssh-copy-id [-i [identity_file]] [user@]machine #!/bin/bash # ------------------------- ...

  3. Linux的MySQL安装和配置(详细)

    打开centos系统 输入root用户和密码(我的用户和密码都是root) 查看有没有安装mysql rpm -qa|grep mysql 没有返回任何信息说明没有安装 我是用的centos7,默认安 ...

  4. linux的free命令详解-内存是拿来用的不是拿来看的

    $ free -m total used free shared buffers cached Mem: -/+ buffers/cache: Swap: 第一部分Mem行:total 内存总数: 1 ...

  5. 2018-2019-2 20165209 《网络对抗技术》Exp9: Web安全基础

    2018-2019-2 20165209 <网络对抗技术>Exp9: Web安全基础 1 基础问题回答和实验内容 1.1基础问题回答 (1)SQL注入攻击原理,如何防御? 原理:SQL注入 ...

  6. qt 2D绘图技巧

    2D绘图 Qt4中的2D绘图部分称为Arthur绘图系统.它由3个类支撑整个框架,QPainter,QPainterDevice和QPainterEngine.QPainter用来执行具体的绘图相关操 ...

  7. Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。

    Nginx可以说是标配组件,但是主要场景还是负载均衡.反向代理.代理缓存.限流等场景:而把Nginx作为一个Web容器使用的还不是那么广泛. 用Nginx+Lua(OpenResty)开发高性能Web ...

  8. spring could 微服务 跨域问题(CORS )

    问题发现 正常情况下,跨域是这样的:1. 微服务配置跨域+zuul不配置=有跨域问题2. 微服务配置+zuul配置=有跨域问题3. 微服务不配置+zuul不配置=有跨域问题4. 微服务不配置+zuul ...

  9. 目标检测中的选择性搜索-selective search-没弄

    https://blog.csdn.net/small_munich/article/details/79595257 https://www.cnblogs.com/zyly/p/9259392.h ...

  10. 002-poi-excel-导出设置单元格数据校验规则、筛选功能

    一.数据验证概述 推荐以下操作在2007之后操作 1.1.查看excel的数据验证 1.进入 2.设置规则 通过验证条件允许,可以看到是每个单元格默认只成立一种条件 1.2.POI代码开发-数据验证 ...