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

    1.求数组最大值:

        var arr = [ 1,5,1,7,5,9];
        Math.max(...arr)  // 9 
    

      

        var arr=[22,34,231,54]
        var m=Math.Max.apply(null, arr);  //.apply会把数组里面的参数依次传入进去
        alert(m); 

    2.判断是否为数组

      var arr=[];
      Array.isArray(arr);   //返回true

    3.添加删除数组

        arr.push() //往数组后面添加新的数据   返回值数组长度
        arr.unshift  //往数组前面添加数据     返回值数组长度
        arr.pop()   //删除数组中的最后一位 (参数可以是第几位)   返回值删除的数据
        arr.shift();//删除数组中的第一位 (无参数)     返回值删除的数据

    4.利用下标查找数组

        arr.indexOf(查找数组中的某一项,从第几位开始找);   //返回对应的下标
        arr.lastIndexOf(查找数组中的某一项,从第几位开始找) //从后往前找没找到返回-1;
    

    5.截取数组

        arr.slice(截取的位数,结束的位数);  //返回值是截取出来的数组,不包括结束位  数组本身不变;
        arr.splice(从第几位开始,删除几位,替换的新数据)  //返回值是被删除的元素
    

    6.类数组转换成数组

    var s = "History";
    Array.from(s)  //["H", "i", "s", "t", "o", "r", "y"]

    7.反转数组

    arr.reverse()

    8.把数组转换成字符串

    arr.join()
    

    9.数组连接

        var arr1=[1,2,3]
        var arr2=[4,5,6]
        var arr3=[7,8,9]
        var b=arr1.concat(arr2,arr3);    //[1,2,3,4,5,6,7,8,9]

    10.数组指定位置填充数据

        arr.fill(要填充的内容,开始填充的位置,结束的位置)  //用来填充数组;
    
    例:
        var arr=["hao", "11111", "ni", "su", "yi"];
        arr.fill("11111",1,4);  //返回值["hao", "11111", "11111", "11111", "yi"]    
    

    11.检验数组是否都符合指定的条件

    var ages = [32, 33, 16, 40];
    function checkAdult(age) {   return age >= 18; }
    function myFunction() {   document.getElementById("demo").innerHTML =   ages.every(checkAdult); //false }

    every() 方法使用指定函数检测数组中的所有元素:
    如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检。
    如果所有元素都满足条件,则返回 true。

    12.检查数组里面是否有满足指定条件的

    var ages = [3, 10, 18, 20];
    
    function checkAdult(age) {
          return age >= 18;
    }
            
    function myFunction() {
          document.getElementById("demo").innerHTML = ages.some(checkAdult);   //true
    }

    some() 方法会依次执行数组的每个元素:
    如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
    如果没有满足条件的元素,则返回false

    13.数组排序

    从小到大
    arr.sort(function(a,b){
        	return a - b;
    }); 
    从大到小
    arr.sort(function(a,b){
        	return b - a;
    }); 
    随机排序
    arr.sort(function(){
            return 0.5-Math.random();
     })

      

    快速排序
        var arr = [5,4,3,2,1,0];
        for(var i = 0; i < arr.length; i++) {
            for(var j = 0; j < arr.length - i; j++) {
    		if(arr[j] > arr[j+1]) {
    			var temp = arr[j];
    			arr[j] = arr[j+1];
    			arr[j+1] = temp;
    		}
    	}
        }
    

    14.让数组快速乱序

        var arr = [1,2,3,4,5,6,7,8,9,10];
        arr.sort(function(){
            return Math.random() - 0.5;
        })
        console.log(arr);
    

      

    15.数组求和

    var arr=[1,21,22];
    eval(arr.join('+'));
    

      

  • 相关阅读:
    二叉树学习随笔
    结构体初始化中的数组赋值
    C和FORTRAN的快速傅里叶/余弦/正弦变换(Fast Fourier/Cosine/Sine Transform)开源库分享
    Java简单的数组用法尝试,和C语言很不一样
    中位数( 优先队列较优处理 )
    单调队列 数组写法qwq
    P1886 滑动窗口
    Sicily 2014. Dairy Queen
    P3385 【模板】负环
    [USACO06DEC]虫洞Wormholes (负环模板)
  • 原文地址:https://www.cnblogs.com/Enid0044/p/8494299.html
Copyright © 2011-2022 走看看