zoukankan      html  css  js  c++  java
  • JavaScript数组的方法 | 学习笔记分享

    数组

    数组的四个常用方法

    push()

    • 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度
    • 可以将要添加的元素作为方法的参数传递,这些元素将会自动添加到数组的末尾

    pop()

    • 该方法可以删除数组的最后一个元素,并将被删除的元素返回

    unshift()

    • 向数组开头添加一个或多个元素,并返回新的数组长度
    • 添加元素后,其他元素的索引会相应调整

    shift()

    • 可以删除数组的第一个元素,并将其作为返回值返回

    数组的遍历

    • for 循环
    var arr = ["张三","李四","王五","马六"];
    
    for(var i=0;i<arr.length;i++){
        console.log(arr[i]);
    }
      
    
    • forEach *
    //forEach()  不支持IE9以下浏览器
    var arr = ["张三","李四","王五","马六"];
    
    /*
     * forEach()方法需要一个函数作为参数
     *	- 像这种函数,由我们创建但不是我们调用的,我们称之为回调函数
     *	- 数组中有几个元素就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式
     *		传递进来,我们可以定义形参,来读取这些内容
     *	- 浏览器会在回调函数中传递三个参数:
     *		第一个参数:当前正在遍历的元素
     *		第二个参数:当前正在遍历的元素的索引
     *		第三个参数:当前正在遍历的数组
     */
    
    arr.forEach(function(value, index, obj){
        console.log(value);
    });
    

    slice()和splice()

    slice()

    • 可以用来从数组中提取指定元素
    • 参数:截取开始的位置索引,截取结束的位置索引 (前闭后开,第二个参数可以不写,默认取到最后一个元素)
    • 索引可以是负值 -1为最后一个元素

    splice()

    • 删除元素并向数组添加新元素
    • 将指定元素从原数组中删除并返回
    • 参数:
      第一个:开始位置索引
      第二个:删除的数量
      第三个及以后:
      可以传递一些新的元素,这些元素会自动插入到开始索引位置之前

    数组去重

    //创建一个数组
    var arr = [1,2,3,2,1,3,4,2,5];
    
    //数组去重1	
    //获取数组中的每一个元素(遍历)
    for(var i=0; i<arr.length; i++){
        //遍历当前元素后的所有元素
        for(var j=i+1; j<arr.length; j++){
            //判断两个元素值是否相等
            if(arr[i]==arr[j]){
                //相等则证明出现重复,删除j对应元素
                arr.splice(j,1);
                //当删除了当前j所对应元素后,后面的元素会自动补位
                //导致j新对应的元素无法进行比较,如果该元素依旧重复则会遗漏
                //故使j自减
                j--;
            }
        }
    }
    
    console.log(arr);
    

    数组其他方法

    /*	1
     *	concat()可以连接两个或多个数组,并将新的数组返回
     *	- 该方法不会对原数组产生影响
     *	- 参数也可以为元素
     */
    
    /*	2
     *	join()方法可以将数组转换为一个字符串
     *	- 该方法不会对原数组产生影响,而是将转换后的结果返回
     *	- 可以指定一个字符串作为参数,它将会作为数组元素的连接符,不填则默认为","
     */
    
    /*	3
     *	reverse()方法可以用来反转数组
     *	- 会直接操作原数组	
     */
    
    /*	4
     *	sort()用来对数组元素进行排序
     *	- 改变原数组
     *	- 默认按照Unicode编码进行排序,即使对纯数字数组排序一会按照Unicode编码排序
     *	- 我们可以自己指定排序规则,在sort()添加一个回调函数
     *		回调函数中需要定义两个形参
     *		浏览器将会分别使用数组中的元素作为实参去调用回调函数
     *	- 浏览器会根据回调函数的返回值来决定元素的顺序
     *		如果返回一个大于0的值,则元素交换位置
     *		如果返回一个小于0的值,则元素位置不变
     *		如果返回一个0,则认为两个元素相等,不交换位置
     */
    
    var arr = [5,4,2,3,1];
    
    arr.sort(function(a,b){
        return a - b;	//升序
        //return b - a;	//降序
    });
    
  • 相关阅读:
    多线程之生产者和消费者模式
    python多线程之线程同步--锁
    python多线程之动态确定线程数
    python多线程之循环,调用函数等
    V8 引擎是如何工作的?
    AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解
    字节码
    V8 引擎是如何工作的?
    JavaScript arguments对象
    V8 是怎么跑起来的 —— V8 中的对象表示
  • 原文地址:https://www.cnblogs.com/meow999/p/12064434.html
Copyright © 2011-2022 走看看