zoukankan      html  css  js  c++  java
  • 关于Array的属性和方法

    一、关于Array的属性和方法

    Array作为JavaScript的内置函数,Array.prototype继承于Object.prototype,同时Array.prototype上内置了很多方法:

    concat()、Array()、copyWithin()、entries()、every()、fill()、filter()、find()、findIndex()、forEach()、
    includes()、indexOf()、join()、keys()、lastIndexOf()、map()、pop()、push()、reduce()、reduceRight()、
    reverse()、shift()、slice()、some()、sort()、splice()、toLocaleString()、toString()、unshift()、values()
    var arr = [1, 2, 3];
    var arr1 = ['a', 'b', 'c'];
    var arr2 = ['A', 'B', 'C'];


    1、数组的length属性

    console.log(arr.length); // 3


    注意:

    1. 数组的length不要随意赋值,如arr.length = 10;    ==>  除非要清空数组:arr.length = 0;
    2. 数组不要通过索引随便赋值,如:arr[10] = 10;

    以上行为都会改变数组。

    2、数组的方法
    a. concat

    console.log(arr.concat(arr1, arr2)); //[1, 2, 3, "a", "b", "c", "A", "B", "C"] 


    ==> 返回新的数组,不改变原数组

    b. slice(start,end)

    console.log(concatArr.slice(0, 3)); // [1, 2, 3] ==> 下标[0, 3)
    console.log(concatArr.slice(-3)); // ["A", "B", "C"] ==> 倒数第3位到结束
    console.log(concatArr.slice(-6, -3)); // ["a", "b", "c"] ==> 倒数下标[-6, -3)


    ==> slice(start,end)==>返回一个新的数组。包括数组 concatArr 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有元素。当没有第二个参数时,截止到最后。

    ==> 当只有一个参数,并且这个参数为负数时,表示从数组尾部开始,-1表示倒数第一开始,n表示倒数第n开始到最后。
    slice 可以说和String的slice一模一样,字符串变数组而已,忘了可以去看: 关于String的属性和方法。

    如果不给slice()传递任何参数,它就会从头到尾截取所有元素。利用这一点,我们可以很容易地复制一个Array
    var arr2 = concat.slice(); // 数组的复制

    注意:有些地方说slice()就是对应String的substring()版本,我觉得不对,因为subString的参数都不能为负。


    c. indexOf

    console.log(concatArr.indexOf('a')); // 3
    console.log(concatArr.indexOf('1')); // -1 ==> 代表没有

    //注意了,数字1和字符串'1'是不同的元素。
    d. push和pop

    push()向Array的末尾添加 若干 元素,pop()则把Array的 最后一个 元素删除掉。

    注意:若干、最后一个

    e. unshift和shift

    如果要往Array的头部添加 若干 元素,使用unshift()方法,shift()方法则把Array的 第一个 元素删掉。

    注意:若干、第一个


    f. sort ==> 改变了原数组,返回改变后的数组(即原数组 === ) sort()可以对当前Array进行排序,它会直接修改当前Array的元素位置,直接调用时,按照默认顺序排序:

    concatArr.sort(); // [1, 2, 3, "A", "B", "C", "a", "b", "c"]


    排序规则:

    1. 字符串根据ASCII码进行排序,而小写字母a的ASCII码在大写字母之后。
    2. 把所有元素先转换为String再排序。

    g. reverse ==> 改变了原数组,返回改变后的数组(即原数组 === )

    concatArr.reverse(); // ["C", "B", "A", "c", "b", "a", 3, 2, 1]


    h. join ==> 将数组转换为字符串,忘了可以去看: 关于String的属性和方法

    i. splice

    修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素。

    第一个参数:索引开始
    第二个参数:表示长度

    ==> 从指定的索引开始删除若干元素

    剩余的参数表示从索引开始的地方插入剩余的参数作为新的值
    总结:
         1、操作(改变)原数组,返回删除的元素组成的数组
         ==> 为数不多的操作原对象的方法

         2、 只有一个参数时,默认都数组的最后
         ==> 清空某一个数组的方法:
        a). arr.length = 0;
        b). arr.splice(0);(同时也复制了一个数组)

        3、参数少于或等于2个的时候表示只删除,不添加。
        4、参数多2个且第二个参数为0的时候表示只添加,不删除。
        5、参数多2个且第二个参数不为0的时候表示既删除又添加,可以用来批量替换数组的元素值。

    二、特别注意,改变原数组的方法有:

    splice、sort、reverse、 push和pop、unshift和shift
  • 相关阅读:
    Spring Boot (20) 拦截器
    Spring Boot (19) servlet、filter、listener
    Spring Boot (18) @Async异步
    Spring Boot (17) 发送邮件
    Spring Boot (16) logback和access日志
    Spring Boot (15) pom.xml设置
    Spring Boot (14) 数据源配置原理
    Spring Boot (13) druid监控
    Spring boot (12) tomcat jdbc连接池
    Spring Boot (11) mybatis 关联映射
  • 原文地址:https://www.cnblogs.com/yanmuxiao/p/8692582.html
Copyright © 2011-2022 走看看