JavaScript数组和数学对象

Posted musong-out

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数组和数学对象相关的知识,希望对你有一定的参考价值。

数组的创建:

       var ary1 = new Array();
       console.log(ary1);//[]

var ary2= new Array(2,3,4,5); console.log(ary2); //[2,3,4,5] var ary3= new Array(4); //传一个参数,为数字,代表数组长度 console.log(ary3); //[empty*4] ary3.length = 8; // 数组的length属性可读可写 console.log(ary3); //[empty*8]

数组的方法:

push()

  • 功能:在数组的末尾添加项;
  • 参数:添加进数组的项,一项或者多项;
  • 返回值:数字的新长度;
  • 原数组发生改变

pop()

  • 功能:在数组的末尾删除一项;
  • 参数:不需要;
  • 返回值:删除的项;
  • 原数组发生改变

unshift()

  • 功能:在数组的开头添加项;
  • 参数:添加进数组的项,一项或者多项;
  • 返回值:数字的新长度;
  • 原数组发生改变

shift()

  • 功能:在数组的开头删除一项;
  • 参数:不需要;
  • 返回值:删除的项;
  • 原数组发生改变

splice()

  • 功能:截取数组中的指定项;
  • 参数:
            (n) 从索引n开始截取到数组末尾
            (n,m) 从索引n开始截取m项
            (n,m,x,y,z) m之后的参数作为数组项从截取的位置添加进数组
  • 返回值:截取项组成的新数组;
  • 原数组发生改变

slice()

  • 功能:从数组中复制项;
  • 参数:
    (n) 从索引n开始复制到数组末尾
    (n,m) 从索引n开始复制到索引m(不包括m)
  • 返回值:复制出来的项组成的数组;
  • 原数组不发生改变

join()

  • 功能:把数组以指定的连接符,连成字符串;
  • 参数:连接符,默认是逗号;
  • 返回值:字符串;
  • 原数组不发生改变
      var str1 = ary.join(<span>+val+</span>);
      p.innerhtml = str1;

     

concat()

  • 功能:把数组或数组项拼接成一个数组;
  • 参数:单项或者数组;
  • 返回值:拼接好的数组;
  • 原数组不发生改变

indexOf()

  • 功能:查找一个值在数组中的索引;
  • 参数:要查找的项;
  • 返回值:索引;
  • 原数组不发生改变

reveres()

  • 功能:倒序数组;
  • 参数:不需要;
  • 返回值:倒序后的原数组;
  • 原数组发生改变

sort()

  • 功能:对数组排序;
  • 参数:不传参数,默认按照字符的编码升序排列;
                排数字:
                function(a,b) return a-b;升序
                function(a,b) return b-a;降序
                排英文字母:
                function(a,b) return a.localeCompare(b);升序
                function(a,b) return b.localeCompare(a);降序
                排中文:
                function(a,b) return a.localeCompare(b,zh);升序
                function(a,b) return b.localeCompare(a,zh);降序
                根据数组中每一项的一个属性排序
                function(a,b) return a.name.localeCompare(b.name,zh);
                function(a,b) return a.age-b.age;
  • 返回值:排序后的原数组;
  • 原数组发生改变

数组的迭代方法:

        类数组不能直接使用数组提供的方法,需要把类数组转成数组才能使用

 ```
            var  ary = [3,7,4,9];
            var res = ary.every(function(item,index)
                return item > 2;
            );
            console.log(res);  //true

var res = ary.some(function(item,index) return item > 5 ; ) console.log(res); //true

var res = ary.filter(function(item,index) return item%2==1 ; ) console.log(res); // [3,7,9]
// forEach就是单纯把数组遍历一下 var res = ary.forEach(function(item,index) console.log(index + : +item); ) console.log(res); //undefined var res = ary.map(function(item,index) return item+1; ) console.log(res); //[4, 8, 5, 10] ```

 

数学对象:

  • Math.abs()——取绝对值;
  • Math.ceil()——向上取整;
  • Math.floor()——向下取整;
  • Math.min()——取最小值;
  • Math.max()——取最大值;
  • Math.pow(n,m)——n的m次方;
  • Math.sqrt(m)——对m开平方;
  • Math.random()——获取0-1随机浮点数;
  • 获取n-m之间的随机数
                function getRandom(n,m)
                    return parseInt(Math.random()*(m-n+1)+n);
                

     

 

以上是关于JavaScript数组和数学对象的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript类数组对象

JavaScript—— BOM 浏览器对象模型

JavaScript 对象

javascript 对象简单介绍

JavaScript - 精简

javascript内置对象(数组字符串日期)