数组整理

1. instanceof【操作符】:

var arr = [];
console.log(arr instanceof Array);//true

    1. instanceof操作符的问题在于,它假定单一的全局执行环境。假如网页中包含多个框架,那就会存在两个以上的全局执行环境,也就意味着存在两个以上的Array构造函数。使用本方法就失灵了

  2. ec5新增了isArray();方法用来确定某个值到底是不是数组,忽略全局执行环境的问题

2. 栈方法(push和pop)。栈是一种LIFO(last in first out)的数据结构,最新添加的最早删除

  1. push(),接受任意数量的参数,逐个添加到数组末尾

  2. pop(),从数组末尾弹出最后一项

3. 队列方法(shift和unshift)。队列的访问规则是FIFO(first in first out)

  1. shift(),取得数组第一项

  2. unshift(),向数组头部添加

4. 数组排序

  1. sort():

    1. 默认情况下sort()按照升序排列数组各项,底层方法是调用每个数组项的toString()方法,然后比较得到的字符串,即使数组中的每一项都是数字,sort()方法比较的也是字符串:

var arr1 = [1,5, 8, 11 , 15];
arr1.sort();
console.log(arr1);    //[1, 11, 15, 5, 8]

    所以这个方法可以接受一个比较函数作为参数,以便指定哪个值位于哪个值的前面:

var arr1 = [1,5, 8, 11 , 15];
arr1.sort(function(a,b){return b-a;});
console.log(arr1);    //[15, 11, 8, 5, 1] //比较函数中两参数相减,返回正值就交换位置,返回负值就不换

  2. reverse():鸡肋

时间: 2024-08-10 23:08:07

数组整理的相关文章

JavaScript数组 整理

会对原数组造成影响的1 .shift():删除数组的第一个元素,返回删除的值.2 .unshift(3,4):把参数加载数组的前面,返回数组的长度.3.pop():删除数组的最后一个元素,返回删除的值.4.push(3):将参数加载到数组的最后,返回数组的长度.5.splice(start,deleteCountNum,val1,val2,...):从start位置开始删除deleteCountNum项,并从该位置起插入val1,val2,...,返回删除的值6.reverse():将数组反序,

JS数组整理

1. 检测数组的方法: 1. instanceof[操作符]: var arr = []; console.log(arr instanceof Array);//true 1. instanceof操作符的问题在于,它假定单一的全局执行环境.假如网页中包含多个框架,那就会存在两个以上的全局执行环境,也就意味着存在两个以上的Array构造函数.使用本方法就失灵了 2. ec5新增了isArray();方法用来确定某个值到底是不是数组,忽略全局执行环境的问题 2. 栈方法(push和pop).栈是

JS—数组整理

<script> //定义一个arr数组 var arr = new Array(); //向数组的末尾添加一个a元素 arr.push('a'); //获取所有数组元素 //alert(arr); //a //获取数组中的第一个元素[默认从0开始] //alert(arr[0]); //a //获取数组的长度 //alert(arr.length); //1 </script> <!-------------我是分隔线------------> <script&

php各数组整理集合

数组能够在单独的变量名中存储一个或多个值. eg: <?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?> 显示: I like Volvo, BMW and SAAB. 在 PHP

树状数组整理

一直觉得树状数组是个非常神奇的东西,代码不知道要比线段树短多少倍,还有什么 \(lowbit\) 之类的神奇操作.也是因此对其一直一知半解,用的时候都迷迷糊糊,瞎打一通.所以就写篇博客吧.. 树状数组: 本质上是一个动态的前缀和,可以 \(O(logn)\) 维护单点修改, \(O(logn)\) 求一个前缀,预处理要 \(O(nlogn)\) . 大体结构如图: \(A[i]\) 数组表示原序列,\(C[i]\) 数组表示树状数组. 每次求和(更新)都是查询(改变)部分节点.( \(logn\

后缀数组题目整理

最近在跟着 罗穗骞 的论文学习后缀数组, 不亏是神牛的论文.无论是算法讲解,还是习题举例都非常不错.下面把最进做的几道后缀数组整理一下. 1.两字符串的最长公共子串 1 #include <stdio.h> 2 #include <iostream> 3 #include <algorithm> 4 #include <sstream> 5 #include <stdlib.h> 6 #include <string.h> 7 #in

树状数组—模板整理

树状数组整理 update 更新 1.单点更新,将第p个数增加v 1 void update(int p,int v) //将第P个数增加v 2 { 3 while(p<=n) 4 { 5 sum[p] += v; 6 p += lowbit(p); 7 } 8 } 2.区间更新,将区间[x,y]增加v 1 void inerval_update(int x,int y,int v) //区间修改—[x,y]的区间增加v 2 { 3 update(x,v); 4 update(y+1,-v);

js 如何动态添加数组_百度知道

1.数组的创建var arrayObj = new Array(); //创建一个数组var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外

js如何往数组Array中添加元素 (2013-09-04 10

unshift:将参数添加到原数组开头,并返回数组的长度 pop:删除原数组最后一项,并返回删除元素的值:如果数组为空则返回undefined push:将参数添加到原数组末尾,并返回数组的长度 concat:返回一个新数组,是将参数添加到原数组中构成的 splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... reverse:将数组反序 sort(orderfunction):按