zoukankan      html  css  js  c++  java
  • JavaScript基础知识(数组的方法)

    数组的方法(15个)

    对象数据类型;
    数组成员有一个与之对应的索引
    length : 代表数组成员的个数;
    操作改变数组一些方法;这些数组的方法都是内置的;
    // 1. 方法作用;
    // 2. 方法的参数
    // 3. 方法返回值
    // 4. 原有的数组是否发生改变;

    1.push

    1): 向数组末尾新增一项;
    2): 参数是新增的那一项;可以传多个;
    3): 新数组的数组成员的个数;
    4): 原有数组发生改变;
    var ary = [12,89,89,36,0,"dsh",true,99];
    ary.push(100)
    ary[ary.length] = 100;
    console.log(ary);

    2.pop

    1) : 删除数组的最后一项
    2) : 不需要传参数
    3) : 被删除的那一项
    4) : 原有数组发生改变;
    ary.pop();
    delete ary[ary.length-1]
    console.log(ary[7]);
    ary.length--;

    3:unshift

    1): 向数组开头新增一项;
    2): 需要传参数
    3): 新数组的数组成员个数
    4): 原有数组发生改变;
    ary.unshift(12);
    console.log(ary);

    4.shift

    1): 删除数组的第一项
    2): 不需要传参
    3): 被删除的那一项
    4): 原有数组的发生改变;
    ary.shift();

    5.slice

    1) : 数组的截取
    2) :slice(m,n): 从数组索引m开始,截取到索引n,但是不包含n;[前包后不包]
    slice(m) : 从索引m开始,截取到末尾;
    slice():数组的克隆 slice(0);
    // 索引负数: 让当前length+负数;
    3) : 返回值是截取的数组
    4) : 原有数组不发生改变;
    var ary = [12,89,89,36,0,"dsh",true,99];
    ary.slice()// 不传参;复制克隆
    ary.slice(1)// 从索引1开始,截取到数组的末尾
    ary.slice(2,6)// 从索引2开始,截取到索引8;但是不包含8;
    //支持负数
    ary.slice(6,4) // []

    6.splice

    1) : 删除数组中的某几项
    2) : splice(m,n): 从索引开始,删除n个
    splice(m) : 从索引m开始删除到末尾;
    splice(0):
    splice(m,x,n);替换从索引m开始,删除x个,用n替换;
    3): 返回值;删除那几项,并且以数组返回
    4) : 原有数组发生改变;
    ary.splice(0);// 从索引0开始,删除到数组的末尾
    ary.splice(1,4) // 从索引1开始,删除4项
    ary.splice(1,3,5,19)// 替换
    ary.splice(1,0,5)// 在索引1的前面新增一项数字5;
    console.log(ary);

    7.sort

    1) : 数组排序
    2) :参数
    • 1.sort() : 只能数组成员是相同位数的数组
    • 2.sort(function(a,b){return a-b}) 从小到大排序
    • 3.sort(function(a,b){return b-a})从大到小
      3) : 是排序之后的数组
      4) : 原有数组发生改变;
    ary.sort() : 只能排数组成员位数相同的数组;
    var ary = [12,8,99,67,85,1,35,66,"78"];
    var ary = [1,8,5,3,2];
    var ary = [123,678,987,567,345,234];
    ary.sort(function (a,b) {
    return a-b;
    });
    var newAry = ary.sort(function (a,b) {
    return b-a;
    });
    console.log(newAry);

    8.reverse

    1): 将数组颠倒过来
    2): 不需要传参数
    3): 数组成员顺序倒过来之后的数组
    4): 原有发生改变;
    console.log(ary.reverse());
    console.log(ary);

    9.concat :

    1) : 数组的拼接
    2) :
    • 1.不传参数: 数组的克隆
    • 2.传参数,(数组、每一项);把传入的实参拼接新的数组中;
      3) : 拼接之后的新数组
      4) : 原有数组不发生改变;
    var ary = [12,8,99,67,66,66,85,1,35,66,"78",66];
    var ary1 =[1,2,3]
    console.log(ary.concat([100,200,null]));
    var a = ary.concat();
    console.log(ary.concat());

    10.join

    1) : 把数组成员按照特定的字符连接成一个字符串;
    2) :
    • 1.不传参数,会默认按照逗号分开
    • 2.传参数,(特定的字符)
      3) : 拼接之后的字符串
      4) :原有数组不发生改变;
    console.log(ary.join("+"));//"12+8+99+67+85+1+35+66+78"
    console.log(ary.join(""));//"1289967851356678"
    console.log(ary.join());//"12,8,99,67,85,1,35,66,78"

    11.indexOf

    1) : 检测数组成员在数组中第一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
    2): 需要参数
    3): 返回在数组中第一次出现的索引;
    4): 原有数组不发生改变;
    console.log(ary.indexOf(66));
    console.log(ary.indexOf(666));
    console.log(ary.indexOf(888));

    12.lastIndexOf

    1) : 检测数组成员在数组中最后一次出现的索引位置; 判断当前项是否在数组中存在;如果不存在,返回-1;
    2): 需要参数
    3): 返回在数组中最后一次出现的索引;
    4): 原有数组不发生改变;
    console.log(ary.lastIndexOf(66));

    13 .map

    1) : 遍历数组和映射
    2): 需要参数
    3) : 映射之后的数组
    4): 原有数组不发生改变;
    var ary = [12,8,99,67,66,66,85,1,"78",66];
    var total= null;
    var mn = ary.map(function (item,index) {
    console.log(item);//遍历数组;第一个参数就是数组成员
    console.log(index);// 代表数组成员的索引
    return "<li></li>>";
    // 求和
    total +=Number(item);
    console.log(total);
    console.log(mn);

    14.forEach

    1) : 遍历数组;没有返回值;
    2) : 需要参数
    3) : 返回值是undefined
    4) : 原有数组不发生改变;
    var bhh = ary.forEach(function (item,index) {
    console.log(item);
    return 10;
    })
    console.log(bhh);//undefined
    console.log(ary);

    15.toString

    1) : 转字符串
    2) : 不需要参数
    3) : 返回一个去了中括号之后的字符串
    4) : 原有数组不变;
    var ary = [1,23,8,9,90]
    console.log(ary.toString());// "1,23,8,9,90"
    console.log([12].toString());// "12"
    console.log([].toString());// ""
    console.log(ary);
  • 相关阅读:
    浅谈折半搜索
    NOIP PJ/CSP-J 题目选做
    SDN第五次上机作业
    SDN第四次上机作业
    SDN第三次上机作业
    SDN第二次上机作业
    必看
    关于tensor
    permute与transpose
    1823. 找出游戏的获胜者
  • 原文地址:https://www.cnblogs.com/CCxi/p/9449151.html
Copyright © 2011-2022 走看看