前  言

LIUWE

   在网站制作过程中,数组可以说是起着举足轻重的地位。今天就给大家介绍一下数组的一些相关内容。例如:如何声明一个数组和在网站制作过程中我们常用的一些数组的方法。介绍的不好还请多多包涵。。。

  首先我们应该先了解一下什么是数组,数组的基本概念是什么?

  1、定义:数组是在内存空间中连续存储的一组有序数据的集合。

  2、元素在数组的顺序为下标,可以使用下标访问数组的每一个元素。

一、如何声明一个数组?

  1、使用字面量声明: 

    var arr=[]; //声明了一个空的数组

  2、使用new关键字声明:

    var arr=new Array(1,2,3,4,5,6,7,8);  //使用new关键字声明了一个数组

  3、数组中参数应该注意的事项:

(1)、同一个数组中,可以存储各种数据类型。

    var arr=[1,"liu",true,{},null,function];  //次数组中的数据类型有数值型,boolean类型,对象,函数等。

(2)、数组中的参数是可以省略的,省略之后表示创建了一个空数组

(3)、当数组中的参数固定之后,表示创建了一个长度为指定长度的数组,但这个长度是可变可追加的。

二、数组中常用的一些方法

  1、join("分隔符号"); 表示将数组用指定分隔符连接为字符串,当参数为空时,默认用逗号分隔

  2、concat(); 表示将多个数组进行连接,形成一个新的数组,原数组将不会发生变化。要注意的是:concat连接时如果有二维数组,至多能拆一层中括号

    [1,2].concat([3,4],[5,6]);  //其显示结果为   [1,2,3,4,5,6]
    [1,2].concat([3,4,[5,6]]); //其结果显示为 [1,2,3,4,[5,6]]

  3、arr.push(值); 表示在数组的最后一个位置新增一个值。 arr.pop();删除数组的最后一个值。

  4、arr.unshift(值); 表示在数组的第0个位置新增一个值。  arr.shift();删除数组的第一个值。

  5、reverse(); 表示将数组反转,倒序输出,原数组会发生改变。

  6、slice(begin,end); 表示截取数组中的某一部分,并返回截取的新数组,原数组不会被改变。其要注意的是:接收两个参数

(1)、传入一个参数,表示的是开始区间,默认截取到数组的结尾。

(2)、传入两个参数,表示截取开始和结束的下标。是一个左闭右开的区间(即包含begin不包含end)。

(3)、两个参数可以为负数,表示从右边开始截取。但是注意右边开始的第一个数为-1.

  7、sort(); 将数组进行升序排列(即从小到大排列),原数组将被改变。

(1)、默认情况下,会按照每个元素首字母的ASCII值进行排列。

(2)、还可以传入一个函数,手动指定排序的函数算法,函数将默认接收两个值a,b,如果函数返回值大于0,则证明a>b;如果函数返回值大于0,则证明a<b;

    arr.sort(function(a,b){
                    return a-b;  // 升序排列
                    return b-a;  // 降序排列
       });

  8、indexOf(value,index); 返回数组中第一个value值所在的下标,如果没有返回-1;lastIndexOf(value,index); 返回数组中最后一个value值所在的下标,如果没有返回-1。

(1)、如果没有指定index,则表示全数组查找value

(2)、如果指定了index,则表示从index开始,向后查找。

  9、forEach(); 专门用于循环遍历数组,接收一个回调函数,回调函数接收两个参数,第一个参数为数组每一项的值,第二个参数为数组每一项的下标。要注意的是:IE8之前不支持此函数。

    arr.forEach(function(a,b){

    });

  10、map(); 数组映射,使用方式与forEach()相同,不同的是,map可以有return返回值,表示将原数组的每个值进行操作后返回一个新的数组。要注意的是:IE8之前不支持此函数。

  

    var arr1=arr.map(function(a,b){
                    console.log(a);
                    return a+2;
    });

我的代码世界

  关于数组的相关内容就介绍到这里,毕竟是一个初入程序员世界的毛头小子,有什么说错的地方还望各位大牛能够给指出,博客还会持续更新,希望对大家有一点点帮助吧!!!!

JS中关于数组的内容的更多相关文章

  1. js中的数组

    上网查了一下,js中的数组包含的内容还真不少.先给出两个学习的链接: w3school链接:http://www.w3school.com.cn/js/js_obj_array.asp 博客园链接:h ...

  2. js中的数组遍历

    js中的数组遍历是项目中经常用到的,在这里将几种方法做个对比. ! for循环:使用评率最高,也是最基本的一种遍历方式. let arr = ['a','b','c','d','e']; for (l ...

  3. java:JavaScript3(innerHTML,post和get,单选框,多选框,下拉列表值得获取,JS中的数组,JS中的正则)

    1.innerHTML用户登录验证: <!DOCTYPE> <html> <head> <meta charset="UTF-8"> ...

  4. JS中的数组复制问题

    JS中的数组复制问题 前言 首先提到复制,也就是拷贝问题,就必须要明确浅拷贝和深拷贝. 浅拷贝:B由A复制而来,改变B的内容,A也改变 深拷贝:B由A复制而来,改变B的内容,A的内容不会改变 总的来说 ...

  5. JS中Array数组的三大属性用法

    原文:JS中Array数组的三大属性用法 Array数组主要有3大属性,它们分别是length属性.prototype属性和constructor属性. JS操作Array数组的方法及属性 本文总结了 ...

  6. JS中对数组元素进行增删改移

    在js中对数组元素进行增删改移,简单总结了一下方法: 方法 说明 实例 push( ); 在原来数组中的元素最后面添加元素 arr.push("再见58"); unshift( ) ...

  7. 遍历js中的数组

    可以使用js中的for循环,或者forEach方法:也可以使用Ext中的方法遍历js中的数组 代码如下: /** * 遍历数组 */ var arr = ['越南', '新加坡', '美国', '俄罗 ...

  8. JS中实现数组和对象的深拷贝和浅拷贝

    数组的拷贝 > 数组的深拷贝,两层 var arr = [[1,2,3],[4,5,6],[7,8,9]]; var arr2 = []; 循环第一层数组 for(var i=0,len=arr ...

  9. JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象

    文章目录 1.工厂方法创建对象 1.1 代码块 1.2.测试结果 2.原型对象 2.1 代码 2.2 测试结果 3.toString 3.1 代码 3.2 测试结果 4.数组 4.1 代码 5.字面量 ...

随机推荐

  1. JavaWeb王者归来学习笔记

    JavaWeb王者归来学习笔记... Ajax王者归来: Ajax:Asynchronous JavaScript And XML -------Ajax 是一些旧有技术的结合.但却以一种新的姿态.披 ...

  2. thinkjs 文件上传

    采用thinkjs框架写前后端 let formdata = new FormData($('form')[0]); $('#fileUpload').submit(function (e) { e. ...

  3. HTML图像

    HTML 图像- 图像标签( <img>)和源属性(Src) 在 HTML 中,图像由<img> 标签定义. <img> 是空标签,意思是说,它只包含属性,并且没有 ...

  4. org.apache.commons.lang.StringUtils 中 Join 函数

    转自 http://my.oschina.net/zenglingfan/blog/134872 写代码的时候,经常会碰到需要把一个List中的每个元素,按逗号分隔转成字符串的需求,以前是自己写一段比 ...

  5. django日期比较

    from django.db import models from django.utils import timezone import datetime # Create your models ...

  6. java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现

    java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析 ...

  7. eclipse没有联想功能的解决办法

    1.我window->Preferences->Java->Editor->content assist 把 Enable auto activation 选项打上勾 :(如下 ...

  8. 最近找java实习面试被问到的东西总结(Java方向)

    时间,就是这么很悄悄的溜走了将近两个年华,不知不觉的,研二了,作为一个一般学校的研究生,不知道该说自己是不学无术,还是说有过努力,反正,这两年里,有过坚持,有过堕落,这不,突然间,有种开窍的急迫感,寻 ...

  9. [ASP.NET MVC] Razor 布局

    整体视图模板 View模板会先找到对应的controller文件,再找此文件下的Shared文件夹. 比如项目最外层的View/Shared 目录下有一个_Layout.cshtml模板页,有这样代码 ...

  10. Rehat一键安装mysql脚本和备份数据库脚本

    Rehat一键安装mysql脚本 ##说明:适用,Rehat 5 6 7 1.运行状态,运行成功输出mysql临时密码 2.代码如下 #!/bin/bash #获取系统信息 sudo cat /etc ...