美文网首页
数组相关

数组相关

作者: 盗花 | 来源:发表于2016-10-15 19:54 被阅读6次

    选定元素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

    相关文章

      网友评论

          本文标题:数组相关

          本文链接:https://www.haomeiwen.com/subject/bminyttx.html