zoukankan      html  css  js  c++  java
  • js中的数组对象的总结

    这段时间查漏补缺 发现对数组的一些方法不太清楚了。在这里来一次总结。

    //声明一个新数组
    /*var arr=new Array(3) //数字为当前数组的长度

    arr[0]="xueix"

    arr[1]="shijian"

    arr[2]="dasheng"

    console.log(arr) //["xueix","shijian","dasheng"]
    console.log(arr.length)//3*/

    //将数组转为字符串 使用join()方法 返回一个新字符串 原数组不变
    /*var arr=new Array(3)

    arr[0]="xueix"

    arr[1]="shijian"

    arr[2]="dasheng"

    var p=arr.join(",")//转成的字符串 以,分割
    console.log(p)//xueix,shijian,dasheng
    console.log(arr)//["xueix", "shijian", "dasheng"]*/

    //将字符串转为数组 使用 split()方法 返回一个新数组 原字符串不变

    /*var p="xueix .shijian .dasheng"

    var arr=p.split(".",2) //(指定分割边界 ,分割的数组小于该长度)

    console.log(arr)//["xueix ", "shijian "]
    console.log(p)//xueix .shijian .dasheng
    */

    //shift()方法 可以删除数组的第一个元素 并返回该元素 会改变数组长度 若数组为空 返回undefined
    /*var arr=[1,2,3,4,5,6]
    var shift=arr.shift()

    console.log(shift)//1
    console.log(arr)//[2, 3, 4, 5, 6]
    console.log(arr.length)//5*/

    //pop()方法 删除原数组的最后一个元素 并返回该元素 会改变数组长度 若数组为空 返回undefined
    /*var arr=[1,2,3,4,5,6]
    var pop=arr.pop()

    console.log(pop)//6
    console.log(arr)//[1, 2, 3, 4, 5]
    console.log(arr.length)//5*/

    //unshift()方法 为原数组在头部添加元素 下标为 0,1,2... 并返回新数组的长度
    /*var arr=[1,2,3,4,5,6]
    var unshift=arr.unshift(3)

    console.log(unshift)//7
    console.log(arr)//[3, 1, 2, 3, 4, 5, 6]*/

    //push()方法 为原数组的尾部添加元素 并返回新数组的长度

    /*var arr=[1,2,3,4,5,6]

    var push=arr.push(5,8,9)

    console.log(push)//9
    console.log(arr) //[1, 2, 3, 4, 5, 6, 5, 8, 9]*/

    //splice()方法 指定数组的开始删除的位置和个数 并添加新的元素(可不填)新添加的元素插入到开始删除的位置 返回一删除的数组 原数组做相应的改变 若开始值为-1 则从尾部第一个元素开始
    /*var arr=[1,2,3,4,5,6]

    var splice=arr.splice(3,2,7,8,9)

    console.log(splice)//[4, 5]
    console.log(arr)//[1, 2, 3, 7, 8, 9, 6]
    */
    //slice()方法 指定删除的起始位置(必须) 结束位置(可不填)不填则从起始位置算起到数组结束位置 返回被删除的数组 原数组不改变
    /*
    var arr=[1,2,3,4,5,6]

    var slice=arr.slice(1,3)

    console.log(slice)//[2, 3]
    console.log(arr)//[1, 2, 3, 4, 5, 6]*/

    //concat()连接一个或多个数组 不会改变原数组
    /*var arr=[1,2,3,4,5,6]

    var arr1=[7,8,9,11]

    var concat=arr.concat(arr1)

    console.log(concat)//[1, 2, 3, 4, 5, 6, 7, 8, 9, 11]

    console.log(arr)//[1, 2, 3, 4, 5, 6]

    console.log(arr1)//[7, 8, 9, 11]
    */


    //sort()对数组进行排序 按照数组大小需要引入相应的函数 直接在原数组上排序

    /*var arr=[5,9,2,1,4,5]

    //从小到大排序
    function sortNumber(a,b){
    return a-b
    }

    //从大到小
    function sortNumber(a,b){
    return b-a
    }


    console.log(arr)//[5, 9, 2, 1, 4, 5]

    var sort=arr.sort(sortNumber)

    console.log(sort)//[1, 2, 4, 5, 5, 9]*/

    //reverse()对数组进行倒序 改变原数组
    /*var arr=[5,9,2,1,4,5]

    var reverse=arr.reverse()

    console.log(reverse)//[5, 4, 1, 2, 9, 5]

    console.log(arr)//[5, 4, 1, 2, 9, 5]*/

    //数组对象的属性 constructor 构造函数

    /*var arr=[5,9,2,1,4,5]

    if (arr.constructor==Array)
    {
    document.write("This is an Array");
    }
    if (arr.constructor==Boolean)
    {
    document.write("This is a Boolean");
    }
    if (arr.constructor==Date)
    {
    document.write("This is a Date");
    }
    if (arr.constructor==String)
    {
    document.write("This is a String");
    }*/
    /*
    //构造对象函数
    function man(name,age,sex){
    this.name=name;
    this.age=age;
    this.sex=sex;
    }

    //实例化一个新对象
    var bill=new man("bills",15,"man")

    //打印该对象的constructor
    console.log(bill.constructor)//ƒ man(name,age,sex){ this.name=name;this.age=age;this.sex=sex;}*/

    //数组对象的属性 length 代表了数组元素的个数

    /*var arr=[1,2,3,4,5,6]

    console.log(arr.length)//6
    */
    //数组对象的属性 prototype 对象的原型 构造函数包含在构造对象的原型中

    //构造对象函数
    function man(name,age,sex){
    this.name=name;
    this.age=age;
    this.sex=sex;
    }

    //实例化一个新对象
    var bill=new man("bills",15,"man")

    //向构造函数原型中添加新属性 work
    man.prototype.work=null;

    //设置新对象的work
    bill.work="coder"

    console.log(man.prototype)// {work: null, constructor: ƒ man(name,age,sex),__proto__: Object}
    console.log(bill)//man {name: "bills", age: 15, sex: "man", work: "coder"}

      这里面包括了数组和方法 和数组对象的属性

  • 相关阅读:
    PAT L2-014【二分】
    CodeForces 137C【贪心+优先队列】
    CodeForces 131D【图特性+BFS】
    CodeForces 125D【鸽巢原理】
    PAT1060【大模拟啊】
    CodeForces 124C【连通块】
    PAT 1071【STL string应用】
    CodeForces 116C 【BFS】
    CodeForces 116B【二分匹配】
    CodeForces 118C 【模拟】
  • 原文地址:https://www.cnblogs.com/missmz/p/7838944.html
Copyright © 2011-2022 走看看