数组的创建及其常见的方法

数组——复杂类型数据,用 Array 表示

数组的创建(两种方法):

第一种方法:构造函数的方法定义

  例如:var arr = new Array()  // 定义了一个空数组

var arr = new Array(5)  // 定义了一个数组,有五个变量,但是还没有进行赋值

     var arr = new Array("a","b","c",  ...)  //定义了一个数组,里面有 "a","b","c",  ... 这些变量

第二种方法:字面量的定义

  例如:var arr = [ ]  等价于  var arr = new Array()

             var arr = ["a","b","c",  ...]  等价于  var arr = new Array("a","b","c",  ...)

数组常见的方法(官方函数):

1、push()  功能:在数组的末尾添加一个或多个元素,并返回新数组的长度。

function fn1() {
        var scores = [1,2,3,4,5,6];
        // push();给数组的末尾增加一个元素
        scores.push(8);
        console.log(scores);
        // 结果为[1, 2, 3, 4, 5, 6, 8],length为7
    }   fn1()

2、pop()  功能:删除数组里最后一个元素,返回值就是被删除的元素。

function fn2() {
        var scores = [1,2,3,4,5,6]
        // pop();删除数组里最后一个元素
        // 返回值是 6
        console.log(scores.pop())
        // 结果为[1, 2, 3, 4, 5]
        console.log(scores)
    }
    fn2()

3、unshift()  功能:在数组的开端添加一个或多个元素,并返回新数组的长度。

function fn3() {
        var scores = [1,2,3,4,5,6]
        // unshift();开端添加一个元素
        // 返回值是 7
        console.log(scores.unshift(8))
        // 结果为[8, 1, 2, 3, 4, 5]
        console.log(scores)
    }
    fn3()

4、shift()  功能:删除数组里第一个元素,返回值就是被删除的元素。

function fn4() {
        var scores = [1,2,3,4,5,6]
        // pop();删除数组里第一个元素
        // 返回值是 1
        console.log(scores.shift())
        // 结果为[2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn4()

5、concat()  功能:可以给数组的末尾增加元素,但是cancat并不会改变原始的数组,concat的返回值是添加元素后的结果,既可以拼接数组,也可以拼接元素。

function fn5() {
        var scores = [1,2,3,4,5,6]
        // 结果为[1, 2, 3, 4, 5, 6, 7, 8]
        console.log(scores.concat(7,8))
        // 结果为[1, 2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn5()

6、reverse()  功能:把数组的元素的顺序进行颠倒。

function fn6() {
        var scores = [1,2,3,4,5,6]
        // 结果为[6, 5, 4, 3, 2, 1]
        console.log(scores.reverse())
        // 结果为[6, 5, 4, 3, 2, 1]
        console.log(scores)
    }
    fn6()

7、slice()  功能:从数组里取出一部分元素(根据起始下标和结束下标),但不包括结束下标;不会改变原始数组。

function fn7() {
        var scores = [1,2,3,4,5,6]
        // 结果为[3, 4, 5],表示从下标 2 取到下标 5 ,但不包括下标 5 代表的数
        console.log(scores.slice(2,5))
        // 结果为[1, 2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn7()

8、join()  功能:把数组中所有元素拼接成一个字符串,元素是通过指定的分隔符进行分割的,默认为逗号;不会改变原始数组。

function fn8() {
        var scores = [1,2,3,4,5,6]
        // 结果为1,2,3,4,5,6
        console.log(scores.join())
        // 结果为1-2-3-4-5-6
        console.log(scores.join(‘-‘))
        // 结果为[1, 2, 3, 4, 5, 6]
        console.log(scores)
    }
    fn8()

9、sort()  功能:只能排序字符串,不能排序数字(默认是按字符编码进行排序)

function fn9(){
        var arr=[‘t‘,‘f‘,‘b‘,‘a‘,‘c‘];
        arr.sort();
        // 结果为["a", "b", "c", "f", "t"]
        console.log(arr);
    }
    fn9()

10、splice()  功能:既可以添加元素,也可以删除元素,关键是它可以在在指定下标删除,或者添加。

function fn10(){
        var arr = [‘关羽‘,‘李逵‘,‘刘备‘,‘武松‘,‘宋江‘,‘张飞‘,‘卢本伟‘]
        //在下标2的位置插入了 William
        // 结果为["关羽", "李逵", "William", "刘备", "武松", "宋江", "张飞", "卢本伟"]
        arr.splice(2,0,"William");
        console.log(arr);

        //把下标为3的元素删除掉了(刘备),在下标3的位置插入了 William他姐
        // 结果为["关羽", "李逵", "William", "William他姐", "武松", "宋江", "张飞", "卢本伟"]
        arr.splice(3,1,"William他姐");
        console.log(arr);

        //删除元素:从下标2开始删除2个,插入元素:在下标2的位置插入了 William他弟
        // 结果为["关羽", "李逵", "William他弟", "武松", "宋江", "张飞", "卢本伟"]
        arr.splice(2,2,"William他弟");
        console.log(arr);

        //删除元素:从下标2开始删除3个,插入元素:在下标2的位置插入了 William他妹 和 William他哥
        // 结果为["关羽", "李逵", "William他妹", "William他哥", "宋江", "张飞", "卢本伟"]
        arr.splice(2,2,"William他妹","William他哥",);
        console.log(arr);
    }
    fn10()

补充:数组的length属性

用法:例  var arr = [12,23,34,45]

           console.log(arr.length)  // 结果为 4

下标(索引):console.log(arr[0])  // 结果为 12

       console.log(arr[2])  //结果为 34

下标还可以是变量或者表达式:var i = 0  console.log(arr[i])  // 结果为 12

                     console.log(arr[i+2])  //结果为 34

感谢您的阅读,欢迎留下宝贵的意见!

原文地址:https://www.cnblogs.com/xiaoqi-zhou/p/12540275.html

时间: 2024-08-23 23:40:28

数组的创建及其常见的方法的相关文章

JS对象—数组总结(创建、属性、方法)

原文地址:https://www.cnblogs.com/itgezhu/p/11263452.html

javas入门04——数组的创建及方法

数组的概念及定义 数组的概念: 一组数据,数据的组和 哪些数据的组和,只要是数据(所有数据),就可以放在数组中 数组的意义: 可以同时操作多个数据 数组的创建方式 var arr1 = [1,2,3]; //字面量方式 var arr2 = new Array(1,2,3) //构造函数方式 注意:当只有一个数据时,两种创建方式的不同. var arr1 = [5] //表示有一个数组元素5 var arr2 = new Array(5) //表示有5个数组元素,值全部为undefined 数组

三种创建XMLHttpRequest对象的方法

XMLHttpRequest对象,也就是Ajax交互的核心对象. 这里列举三种创建Ajax对象的方法. 第一种: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples&

mysql 的常用命令及常见问题解决方法

运行sql C:\Users\Martin>mysql -uroot -pyang cdm_db <d:/cdm_db.sql 运行sql mysql>source /tmp/terminal.sql; mysql忘记密码: mysqladmin -uroot flush-privileges password "newpassword" mysql的select into file命令 SELECT a,b,a+b INTO OUTFILE '/tmp/result

LVM(Logical Volumn Manage)逻辑卷的常见使用方法

在 Linux 平台中,第三方的软件安装位置一般是:/usr/local/  和  /srv ,随着我们的应用渐渐增多.万一这些目录所在的分区使用完了.但是,这时候我们又需要安装新的应用软件,怎么办呢? Linux 系统中 /usr/share目录是存放帮助手册的,通常该目录所占用的磁盘空间比较大,使用rpm包安装的应用,帮助手册一般会安装到 /usr/share 目录中.分区操作那时没有做到充分全面地考虑,随着我们的应用的增多,该目录所有的分区日渐用尽的情况是有可能的.我们想到最简单的方法就是

JS—二维数组的创建

//二维数组的创建 //方法一: var myarr = new Array(); //先声明一维 for ( var i = 0; i < 2; i++) { //一维长度为2 myarr[i] = new Array(); //再声明二维 for ( var j = 0; j < 3; j++) { //二维长度为3 myarr[i][j] = i + j; // 赋值,每个数组元素的值为i+j } } //方法二: var myarr1 = [ [ 0, 1, 2 ], [ 1, 2,

数组(创建、提取、冒泡排序及练习题)

数组是某一种数据类型的数据的组合.数组中的实体叫做数组的元素或成员. 示例一:数据的创建和提取 示例二:数组的创建和赋值方法 练习一:从控制台输入九个人的年龄放入数组 练习二:求年龄总和 练习三:求年龄总和,方法二 练习四:输入班级人数,根据人数,挨个输入成绩,求平均分 练习五:求平均分,最高分,最低分 练习六:冒泡排序,降序 练习七:冒泡排序,升序 练习八:输入十个人的分数,去掉两个最高分.两个最低分,求平均分 练习九:选班长,投票选 练习十:生成七个不重复的数 练习十一:手机号抽奖活动

JavaScript的数组实现队列与堆栈的方法

JavaScript的数组实现队列与堆栈的方法 今天在项目中要使用JavaScript实现数据结构中的队列和堆栈,这里做一下总结. 一.队列和堆栈的简单介绍 1.1.队列的基本概念 队列:是一种支持先进先出(FIFO)的集合,即先被插入的数据,先被取出! 如下图所示: 1.2.堆栈的基本概念 堆栈:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出! 如下图所示: 二. 在JavaScript中实现队列和堆栈 在JavaScript中实现队列和数组主要是通过数组,js数组中提供了以

javascript数组操作(创建、元素删除、数组的拷贝)

这篇文章主要介绍了javascript数组操作,包括创建.元素的访问.元素删除.数组的拷贝等操作,还有其它示例,需要的朋友可以参考下 1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创