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
  • 相关阅读:
    oracle的row_number()和rownum
    linux视频学习6(mysql的安装/)
    linux视频学习5(top, 网络监控
    linux视频学习4(crontab和进程)
    linux的视频学习4(网络配置和rpm)
    linux视频学习3(shell和网络)
    linux视频学习3(linux安装,shell,tcp/ip协议,网络配置)
    linux(视频学习)2
    linux视频学习(简单介绍)20160405
    java代码用dom4j解析xml文件的简单操作
  • 原文地址:https://www.cnblogs.com/yanmuxiao/p/8692582.html
Copyright © 2011-2022 走看看