zoukankan      html  css  js  c++  java
  • JavaScript数组基础

    由于最近工作之余,使用vue较多,对于数组的操作也逐渐增多,特此整理js的数组,以便日后翻阅学习。

    Array

      已经记不清其他语言中数组能够存放什么类型的数据,但是在js中数组的每一项都可以存放任何类型的数据,例如第一项存放字符串,第二项存放对象,依次类推。

    数组的创建

    1. 使用Array构造函数创建:let arr = new Array() ;(括号内可以传参,传20代表创建长度为20的数组,传入一个字符串的时候则创建该字符串的数组。同时new可以省略)
    2. 使用字面量创建:let arr = []; // 常用

    数组的读取

    let colors = ["red", "blue", "green" ];
    console.log(colors[0]); // red
    colors[2] = "black"; // 修改
    colors[3] = "yellow"; // 新增
    console.log(colors.length); // 3,打印数组长度
    

     小技巧:js中的数组的length不是只读的,可以通过length修改数组的长度

    let arr = ["a", "b", "c"];
    arr.length = 4;
    console.log(arr[3]); // undefined
    arr.length = 2;
    console.log(arr) // ["a", "b"] 可以删除末尾的值
    

     如果我们在arr数组中添加arr[99] = 'x';那么数组的长度为100,其余中间的值为undefined

    检测数组

    es5新增的isArray可以帮我们解决这个问题(2019-12-19实际碰到的问题)

    let arr = [];
    console.log(Array.isArray(arr)); // true
    

    转换方法

    let colors = ["red", "blue", "green"];
    console.log(colors.toString()); // red, blue, string
    console.log(colors.valueOf()); // 数组形式
    console.log(colors); // 数组形式
    

     同时我们可以使用join方法使数组转换为字符串

    colors.join(',') // ''red, blue, green''
    

    栈方法

    在js的数组中的栈(后进先出)方法推入是push方法,推出是pop方法。

    1. push,可以接收任意数量的参数,将其推入数组
    2. pop,删除数组的最后一个元素,同时也可以得到回调,取到数组最后的那个元素,即被删的元素。

    队列方法(First-In-First-Out)

    1. shift(), 移除数组的第一项,且能获取第一项
    2. unshift(), 向数组开头添加若干项,同时能返回数组的长度 

    使用unshift和pop 可以实现队列效果

    重排序方法

    重排序方法分为reverse()和sort()方法,前者是反转,这里详细介绍后者。

      sort()方法默认按升序排列数组,但是是先调用数组中每一个项的toString()方法再进行比较,可能会与常识的顺序不同,所以我们需要添加方法来帮助我们排序。如下就是升序排列,降序只需将return的值互换即可。

    function compare (value1, value2) {
      if (value1 < value2) {
           return -1;      
        }  else if (value1 > value2){
           return 1;    
        } else{
           return 0;
        }
    }
    
    let values = [0, 5, 1, 10, 15];
    values.sort(compare); // 0, 1, 5, 10, 15
    

       对于数值类型或其valueOf()方法会返回数值类型的对象类型,可以使用一个更简单的比较函数。

    function compare (value1, value2) {
       return value2 - value1;  
    } 

    数组的操作方法

    1. concat(), 基于当前数组的所有项创建一个新数组
      let colors = ["red", "green", "blue"];
      let color2 = colors.concat("yellow", ["black", "brown"]);
      console.log(color2);
      // ["red", "green", "blue", "yellow", "black", "brown"]  
    2. slice(), 可以传入一和或者两个参数,对数组进行截取。1,2都是创建一个副本进行复制操作,不会影响原数组。
    3. splice(), 重中之重。(可以操作原数组)
      splice(0,2) // 删除数组的前两项
      splice(2,0,'yellow') // 在位置2插入yellow
      splice(2,1,'yellow') //删除2位置的元素,插入yellow

    硬核广告

    需要买电影票的同志可以添加如下微信,价格低于app购买,全国支持,本人现实朋友,百分百可靠!

     

  • 相关阅读:
    跨界 +赋能——互联网的下一个关键词
    Jmeter学习笔记(二十一)——Concurrency Thread Group阶梯式加压测试
    Jmeter学习笔记(二十)——后置处理器XPath Extractor使用
    Jmeter学习笔记(十九)——后置处理器之正则表达式的使用
    JMeter学习笔记(十八)——返回的响应数据出现中文乱码_解决方案
    Jmeter学习笔记(十七)——jmeter目录结构
    Jmeter学习笔记(十六)——HTTP请求之content-type
    Jmeter学习笔记(十五)——常用的4种参数化方式
    Jmeter学习笔记(十四)——逻辑控制器
    Jmeter学习笔记(十三)——xpath断言
  • 原文地址:https://www.cnblogs.com/swearBM/p/12070768.html
Copyright © 2011-2022 走看看