• Array的队列方法&重排序方法—— JS学习笔记2015-6-27(第68天)


    队列方法

    相对于数据结构的后进先出【LIFO】访问规则,队列数据结构的访问规则是先进先出【FIFO】

    这里提到一个方法  shift(); 它能够移除数组中的第一个项,并返回该项,同时将数组长度减1;// 有点像pop()

    实例:

    var colors = ['red','green'];

    var item = colors.shift();

    alert(colors);  // green

    alert(item);  // red

    alert(colors.length)  // 1;

    同时也提供了一个unshift()方法;

    用法和shift() 相反;

    shift()和unshift() 操作的对象都是数组的首项; // push()和pop()的操作都是针对数组的尾部;

    unshift返回的数组的长度;

    重排序方法

    reverse()方法 是反转数组原来的顺序;

    sort() 方法 是按照升序排列数组项,它是会调用数组的toString() 方法,然后比较得到的字符串,以确定如何排序, 注意:即使数组中的每一项值都是数字,sort()方法比较的也是字符串;

    sort()方法可以接收一个比较函数作为参数,以便指定哪个值位于哪个值前面;

     规则是: 比较函数接收的2个参数,如果第一个参数应该位于第二个之前则返回一个负数;

                     如果2个参数相等,则返回0;

                                    如果第一个参数应该位于第二个之后则返回一个正数;

     1  function compare(a, b){
     2 
     3       if (a<b) {
     4 
     5           return 1;
     6 
     7       }else if (a>b) {
     8 
     9           return -1;
    10 
    11       }else {
    12          
    13         return 0;
    14 
    15       }
    16   }
    17 
    18   var arr = [0,1,5,-10,15]
    19   arr.sort(compare);
    20   alert(arr);  // 15,5,1,0,-10;
    View Code
  • 相关阅读:
    【洛谷4941】War2 状压Dp
    洛谷4623 [COCI2012-2013#6] BUREK
    洛谷1099 [NOIP2007] 树网的核
    【Jim】I am back (ง •_•)ง
    发个ZKW线段树板子测试一下代码高亮
    洛谷2764 最小路径覆盖问题
    洛谷1972 [SDOI2009]HH的项链
    bzoj1059 [ZJOI2007]矩阵游戏
    知识点整理--组合数学
    最大矩形问题总结
  • 原文地址:https://www.cnblogs.com/zhangxg/p/4604923.html
Copyright © 2020-2023  润新知