2016-06-06 数组的几个重要方法

1.

var arr=[1,2,3]
arr.push(‘abc‘);//返回的是数组的长度为 4 arr=[1,2,3,‘abc‘]
如果是 arr.unshift(‘abc‘);返回的也是数组长度为4,IE6 IE7 不支持返回的是undefined,arr=[‘abc‘,1,2,3]

var arr=[1,2,3];
arr.pop();删除最后一个 arr=[1,2], arr.pop()返回的是删除的元素
arr.shift();删除第一个 arr=[2,3]

交换位置
var arr =[‘a‘,‘b‘,‘c‘,‘d‘];
要求:a b c往后移动一位,d放在最前面
解决:先把d拿走 arr.pop();//返回的是d,
然后放置到第一位  arr.unshift(arr.pop());

要求:b c d往前移动一位 a到最后
解决:先把a拿走 即:arr.shift(),在把a放到最后arr.push()
arr.push(arr.shift());
<script>
    //吊炸天的splice方法  删除 替换 添加功能
    var arr =[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘];
    //删除
    alert(arr.splice(0,2));//返回的是删除的东西,从第0位开始删除两位 即 a b
    alert(arr);// arr=[c,d,e
    //替换
    alert(arr.splice(0,1,‘fff‘));//替换数组的第0位即a,只替换一位,所以 弹出a
    alert(arr);// fff,b,c,d,e

    alert((arr.splice(0,2,‘fff‘,‘ggg‘)))//a b 从第零位开始,往后替换两位,如果不写ggg,则数组长度减少一位
    alert(arr)// fff,ggg,c,d,e

    //添加
   alert(arr.splice(1,0,‘m‘,‘n‘,‘l‘)) ;//从数组下标为1的地方添加三个数,0代表添加
   alert(arr)//a m n l b c d e

    //去重
    var arr=[1,1,2,2,2,4,4,4,6,4,5,8,8];
    alert(removeRepeat(arr));//1 2 4 6 5 8
    //抽取去重方法
    function removeRepeat(arr){
        if(arr==null || arr==undefined) return;
        for(var i=0;i<arr.length;i++){
            for(var j=i+1; j<arr.length;j++){
                if(arr[i]==arr[j]){
                    arr.splice(j,1);//注意删除小标j,数组长度会减1,
                    j--;//所以arr[j]的元素也要减少一个
                }
            }
        }
        return arr;
    }

    //sort()排序
    //1.默认的sort()排序是字符串比较,只比较第一位
    var nums =[1,4,7,8,5,9];
    alert(nums.sort());//1 4 5 7 8 9
    var chars=[‘a‘,‘z‘,‘c‘,‘f‘,‘t‘]//a c f t z  因为 a-z 97-122
    alert(chars.sort());
    var nums2=[1,4,22,3,8,9,77,56,48];//-->var nums2=[‘1‘,‘4‘,‘22‘,‘3‘,‘8‘,‘9‘,‘77‘,‘56‘,‘48‘] ‘77‘第一位是7,小于8 和9
    alert(nums2.sort());//1 22 3 4 48 56 77 8 9 为什么会这样??? 因为默认的sort()排序是字符串比较,只比较第一位

    //如何改变这种状况,加入比较器
    alert(nums2.sort(function(a,b){return a-b;}));//1 3 4 8 9 22 48 56 77

    //如何排序字符串不完全是数字呢?
    var arr =[‘100px‘,‘20px‘,‘8px‘,‘10px‘,‘200px‘];
  //  alert(arr.sort())//默认是 100px 10px 200px 20px 8px
    //怎么办?去除ox再加入比较器
    alert(arr.sort(function(a,b){return parseInt(a)-parseInt(b)}));//8px 10px 20px 100px 200px

</script>

3.随机数

    //随机数

    //0-x
    Math.round(Math.random()*x);
    //1-x
    Math.ceil(Math.random()*x);
    //从x 到y 之间的随机数  如:100-450
    Math.round(Math.random()*(y-x)+x);

  4.翻转字符串

//数组转换成字符串用join()
    var str=‘abcdefg‘;
    var arr=str.split(‘‘);
    alert(arr.reverse().join(‘‘));

  

  

时间: 2024-10-07 07:50:48

2016-06-06 数组的几个重要方法的相关文章

全国身份证前6位地区编码归属地(2016年06月27日)共6724条

简介: 前段时间在忙单位的一个小系统,用来管理从业人员的电子档案,最核心.复杂的功能已经完成,现在基本告一段落.用户可上传已扫描或拍照的档案图片,然后选择一个(已导入数据库)的从业人员信息,将扫描件与数据库信息对应,便于日后查询,也减轻了档案室的日常工作量.现在单位已经有一个成熟的系统用来管理从业人员信息,但只有一个档案编号,无法查询纸质档案信息,经常查档案就找档案室,太繁琐.带来各种麻烦.而从业人员涉及到的信息字段比较多,好在原系统可以导出数据库信息,我直接导入新系统就可以用了.省的操作员在录

[转载]傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 与时间无关的故事 - 知乎专栏

  傅里叶分析之掐死教程(完整版)更新于2014.06.06 Heinrich 作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师. 转载的同学请保留上面这句话,谢谢.如果还能保留文章来源就更感激不尽了. --更新于2014.6.6,想直接看更新的同学可以直接跳到第四章---- 我保证这篇文章和你以前看过的所有文章都不同,这是12年还在果壳的时候写的,但是当时没有来得及写完就出国了-

2016年程序员如何提高自己的方法有哪些?

作为软件开发行业,新技术在不断的更新,如何在新的时代实现自己的人生价值,唯一的办法就是为自己树立一个更高的目标,一个人有了目标后就会有了努力的方向,那么在2016年程序员如何提高自己的方法有哪些?新霸哥简单的总结了一下主要的有下面的这些方面来努力就能有所作为的. 一,方向很重要,选好方向才有学习的动力 如今技术新技术在不断的被挖掘出来,选择一个合适的方向是很重要的.新霸哥觉得有些技术虽然很重要但是不是任何人都能掌握的,遇到这种情况的时候首先要学会取舍,舍弃看不懂的知识,与其在一个不懂的问题上长期

js中数组去重的几种方法

js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                         for(var i=0;i<arr.length;i++){                                 for(var j=i+1;j<arr.length;j++){                                         if(ar

PHP去掉数组重复值二种方法实例

PHP两种去掉数组重复值的方法,分别使用foreach方法和array_unique方法. 去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $in

JSON对象与JSON数组的长度和遍历方法

JSON对象与JSON数组的长度和遍历方法         1.json对象的长度与遍历                 结构:var json={“name”:”sm”,”sex”:”woman”}                 遍历的方法:for(var js2 in json){                                                 alert(js2 + “=” + json[js2]);                            

HP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法

这两个函数比较简单,我这里直接写例子,但是有一点一定要注意,json数据只支持utf-8格式,GBK格式的数据转换为json会报错! json_encode()用法: <?php$data =array(‘name’=>’jianqingwang’,‘sex’=>’man’,‘title’=>’PHPER’,‘location’=>’XiaMen’); $new_data =json_encode($data); var_dump($data);echo “<br>

数组的队列和栈方法

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>数组的队列和栈方法</title></head><body><script>// 栈是一种LIFO(Last-In-First-Out后进先出)的数据结构,js中的push()和pop()类似栈的行为// 队列是一种FIFO(

JavaScript中的数组遍历forEach()与map()方法以及兼容写法

原理: 高级浏览器支持forEach方法 语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是没有返回值的,对原来数组也没有影响: 数组中有几项,那么传递进去的匿名回调函数就需要执行几次: 每一次执行匿名函数的时候,还给其传递了三个参数值:数组中的当前项item,当前项的索引index,原始数组input: 理论上这个方法是没有返回值的,仅仅是遍历数组中的每一项,不对原来数组进行修改:但是我

数组的有关属性和方法

数组的创建 通过构造函数 var  arr = new  Array(): 如果预先知道要保存的项目的数组的数量,也可以给构造函数传递该数量.并且该数量会自动变成length属性的值. var   colors  = new   Array(20): 也可以向Array构造函数传递数组中的应该包含的项 var   colors  = new  Array(1, 2,3,4) 在使用Array构造函数时也可以省略new操作符 创建数组的第二种方式是使用数组字面量表示法 var  color = [