javascript获取数组最后一个元素(三种方法)

JavaScript 获取Array末尾元素

一、JavaScript pop() 方法

pop() 方法用于删除并返回数组的最后一个元素。

注意:pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

var arr = new Array("js","JavaScript","jQuery");
var end = arr.pop()
console.log(end);//jQuery
console.log(arr);//["js", "JavaScript"]

二、数组的 length 属性

var arr = new Array("js","JavaScript","jQuery");
var end = arr[arr.length-1]
console.log(end);//jQuery

三、JavaScript slice() 方法

var arr = new Array("js","JavaScript","jQuery");
var end = arr.slice(-1);
console.log(end);//["jQuery"]

浅复制slice() 方法可从已有的数组中返回选定的元素。【用负数作为参数时就表示从数组末尾开始计数。而当省略第二个可选参数时,表示一直复制到数组末尾。】

但是返回的数据类型是 array 不是 string 这点要注意一下!

 

----完----

 

 

场景:postman获取响应的json数据

响应body

{
    "data": {
        "source": {
            "id": "default",
            "logEntriesAround": {
                "start": {
                    "time": 1575859655137,
                    "tiebreaker": 185095
                },
                "end": {
                    "time": 1575863441492,
                    "tiebreaker": 156565
                },
                "hasMoreBefore": false,
                "hasMoreAfter": false,
                "entries": [
                    {
                        "gid": "yfiO6G4B_0YZ4PEYFZ7K",
                        "key": {
                            "time": 1575859655137,
                            "tiebreaker": 185095
                        },
                        "columns": [
                            {
                                "columnId": "5e7f964a-be8a-40d8-88d2-fbcfbdca0e2f",
                                "timestamp": 1575859655137
                            },
                            {
                                "columnId": " eb9777a8-fcd3-420e-ba7d-172fff6da7a2",
                                "field": "event.dataset",
                                "value": "null"
                            },
                            {
                                "columnId": "b645d6da-824b-4723-9a2a-e8cece1645c0",
                                "message": [
                                    {
                                        "field": "message",
                                        "value": "2019-12-09 10:47:34.956  INFO [sms,e15f7fdf57ba1b8d,f767d0f88588bf1e,true] 17 --- [http-nio-8759-exec-3] com.houhan.framework.core.common.Logger  : 用户:13800138181 的手机号的短信发送成功。内容:【安卓测试】验证码:969567,此验证码十分钟后失效,请勿泄露给他人"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "gid": "x_nH6G4B_0YZ4PEY2XUD",
                        "key": {
                            "time": 1575863441492,
                            "tiebreaker": 156565
                        },
                        "columns": [
                            {
                                "columnId": "5e7f964a-be8a-40d8-88d2-fbcfbdca0e2f",
                                "timestamp": 1575863441492
                            },
                            {
                                "columnId": " eb9777a8-fcd3-420e-ba7d-172fff6da7a2",
                                "field": "event.dataset",
                                "value": "null"
                            },
                            {
                                "columnId": "b645d6da-824b-4723-9a2a-e8cece1645c0",
                                "message": [
                                    {
                                        "field": "message",
                                        "value": "2019-12-09 11:50:41.290  INFO [sms,4287273b3684a879,056ea24ab9eb050f,true] 17 --- [http-nio-8759-exec-10] com.houhan.framework.core.common.Logger  : 用户:13800138181 的手机号的短信发送成功。内容:【安卓测试】验证码:334327,此验证码十分钟后失效,请勿泄露给他人"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        }
    }
}

获取想要的内容,js代码:

var data=JSON.parse(responseBody);
var message=data.data.source.logEntriesAround.entries.slice(-1)[0].columns.slice(-1)[0].message[0].value;
var vc="验证码:([0-9]{4,6})";
var vercode=message.match(vc)[1];
pm.globals.set("vercode",vercode);

 

 

posted @ 2019-12-09 16:32  子不语332  阅读(11666)  评论(0编辑  收藏  举报