搜索
您的当前位置:首页正文

数组相关

来源:二三四教育网

选定元素slice()

slice() 方法可从已有的数组中返回选定的元素,类似于python的切片。
语法:

arrayObject.slice(start,end)

参数:
start:必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。
end:可选。规定从何处结束选取。如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素。如果是负数,那么它规定从数组尾部开始算起的位置。
注意:
1.该方法并不会修改数组,而是返回一个子数组。
2.String.slice() 与 Array.slice() 相似。

数组排序sort()

sort()方法使数组中的元素按照一定的顺序排列。
语法:

arrayObject.sort(方法函数)

参数:
方法函数:可选。规定排序顺序。必须是函数。
1.如果不指定<方法函数>,则按unicode码顺序排列。
2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。
注意:
该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
示例:

<script>
    "use strict";
    var myarr = ['12', '23', '213', '32', '213', '-12', 321, 3];
    document.write("默认unicode排序:" + myarr.sort() + "<br>");
    document.write("升序排列:" + myarr.sort(sort_acsend) + "<br>");
    document.write("降序排列:" + myarr.sort(sort_decsend) + "<br>");
    function sort_acsend(a, b) {
        return a - b;
    }
    function sort_decsend(a, b) {
        return b - a;
    }
</script>

输出结果为:

默认unicode排序:-12,12,213,213,23,3,32,321
升序排列:-12,3,12,23,32,213,213,321
降序排列:321,213,213,32,23,12,3,-12

数组的in运算符

in运算符用于检测某个元素是否在集合中。现在有一个数组var arr = ['a', 'b', 'c']。在python中,'a' in arr返回值肯定为true,但是在JS中,中,'a' in arr返回值却是false
这是为什么呢?原来,在JS中,数组也是一种对象,存在键值对,例如:Object.keys(arr)的返回值为["0", "1", "2"]。而inJS中是用来检查的,所以'a' in arr返回值是false0 in arr返回值为true

Top