zoukankan      html  css  js  c++  java
  • JS数组及其常用方法

    数组

    检验是否为数组的方法 Array.isArray()

    是数组返回:true

    不是数组返回:false

    数组中天生自带一个属性:length  代表了当前数组的长度

    (JavaScript数组长度是可变的,也就是说不是固定的)

    数组是一个复杂的数据类型,在比较的时候是比较的地址

    console.log([] == []);  // false

    数组的方法

    对于一个方法,我们需要关注:

    ①调用方式,需要传递什么参数

    ②方法执行完成之后的返回结果是什么,有没有返回值

    ③关注这个方法调用完成之后,有没有改变原数组

    栈方法:先进后出,后进先出

    push():往数组的末尾添加项,参数可以为任意多个,返回修改之后原数组的长度,原数组发生了变化

    var arr = [];
    console.log(arr.push("king", "age", 89));    // 3
    console.log(arr);    // ["king", "age", 89]

    pop():往数组的末尾删除一项,返回被删除的那一项,原数组发生改变 arr.pop()

    队列方法:先进先出,后进后出

    push():往数组末尾添加项,参数可以为任意多个,返回修改之后的原数组的长度,原数组发生了变化  arr.push("king", "age", 89)

    shift():从数组的最前面删除一项,返回被删除的项,原数组发生改变。

    unshift():往数组的最前面添加元素,并且返回修改之后的数组长度,原数组发生改变。

    var arr = [1, 2, 3];
    var res = arr.unshift("king", {age: 18});
    console.log(res, arr);    // 5  ["king", {age: 18}, 1, 2, 3]

    reverse():将数组按下标反向排序,返回反向之后的数组,原数组发生改变。

    var arr = [18, false, "", undefined, null, NaN, {}, []];
    console.log(arr.reverse());    // [[], {}, NaN, null, undefined, "", false, 18]

    contact():将多个数组进行合并,返回一个新的合并之后的数组,所有的原数组都不会发生改变。

    // 将括号中的数组依次合并到arr这个数组的末尾,并且不会合并重复项
    var arr = ["king", "age", 89],
        arr1 = [1, 2, 3],
        arr2 = ["hello", "前端"],
        arr3 = [1, 2, 3];
    console.log(arr.concat(arr1, arr2, arr3));    // ["king", "age", 89, 1, 2, 3, "hello", "前端", 1, 2, 3]
    console.log(arr, arr1, arr2, arr3);    // ["king", "age", 89]  [1, 2, 3]  ["hello", "前端"]  [1, 2, 3] 

    排序的方法

    sort():是按照unicode编码进行排序的,对于10以内的数据可以进行排序(默认是一个升序)原数组发生改变。

    如果我们需要实现任何数字的排序,我们得在sort()方法中传递一个函数进来

    var arr = [1, 9, 5, 25, 18, 23];
    var res = arr.sort(function (a, b) {
        // return b - a;     //降序
        // return a - b;    //升序
    });
    console.log(res);

    slice(start, end):从数组中截取下标为start到end的项,包含start 不包含end;返回截取之后的数组。当只有一个参数的时候,默认从这个位置截取到末尾;如果参数是0,相当于将原数组copy了一份(不写和这个一样)

    将数组变成一个字符串

    arr.toString()  可以将数组变成字符串,但是不能自己指定分隔符

    join():将数组按照指定的连接符拼接成为字符串,返回一个拼接之后的字符串,原数组没有发生改变

    splice() 增  删  改

    经过该方法操作之后的原数组会发生改变,返回结果都是一个数组

    splice(n, m, [[kx]]);
    // n代表开始的下标位置
    // m代表个数
    // [[kx]]用来新增或者替换的元素

    删除 返回被删除的项

    splice(1, 2)  从下标为1的位置删除两项

    splice(1)  从下标为1的位置开始删除到最后一项

    splice(0) / splice()  其实就等于将数组剪切了一份

    替换 arr.splice(n, m, newValue);

    返回被替换的那个元素,从n处删除m个元素,并且删除的元素用newValue进行替换,并且以数组的形式返回了删除的项

  • 相关阅读:
    MDK软件2020年到期和谐方法
    TinyMCE插件CodeSample前后端应用
    KEIL MDK编译后的代码量和RAM使用详解
    pdf密码解除工具
    Keil c中自定义带可变参数的printf函数
    关于"云服务器被检测到对外攻击已阻断该服务器对其它服务器端口的访问"的解决措施
    在 __CC_ARM 编译器环境下,使用$Sub$$ 与 $Super$$ 的“补丁”功能
    thinkphp前台html格式化输出日期
    ELINK编程器典型场景之序列号烧写
    数据在数组中存储的顺序:小端 OR 大端模式 详解
  • 原文地址:https://www.cnblogs.com/crazier/p/14100484.html
Copyright © 2011-2022 走看看