一、数组:

  一组数据的集合;

二、JS中数组的特点:

1、数组定义时无需指定数据类型;

2、数组定义时可以无需指定数组长度;

3、数组可以存储任何类型的数据;

4、一般是相同的数据类型;

三、数组的创建方式:

var arr=[值1,值2,值3];                  //字面量定义

var arr = new Array (值1,值2,值3); //构造函数创建

var array =new Array(size);               //创建数组并指定长度

四、数组的操作:

    数组名.方法

1、push()  向数组末尾添加新的数组项,返回值新数组的长度,原数组改变;

2、pop()   删除数组最后一项,没有参数,返回值删除项,原数组改变;

3、unshift()  向数组开头位置添加,返回值是新数组的长度,原数组改变;

4、shift()   删除数组第一项,没有参数,返回值删除项,原数组改变;

5、splice(n,m)   从索引n开始,删除m个,返回值以数组的形式返回删除项(没有m的话,删除到最后);

splice(0)  原数组清空,返回一个和原来一样的新数组;

splice(n,m,z)  从索引n开始,删除m个,把z添加到删除的位置;

6、slice(n,m) 从索引n开始,查找到索引m处,不包含m,将查找到的以新数组返回,原数组不变;

7、concat  数组的拼接,不改变数组,返回最终连接好的新数组;

8、数组换为字符串:不改变原数组;

五、数组的遍历:

1、for  :不能遍历对象;

2、for.....in:

  没有循环条件;

  自动取出下标;

  下标默认从0开始,最大下标为数组长度-1;

  下标的类型为string

六、分类:

整数数组、字符串数组、对象数组、二维数组

七、数组排序:

1、冒泡排序(相邻的两个数比较,大数下沉,小数上浮):

function mySort(arr){
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-1;j++){
if(arr[i]>arr[j+1]){
var t=arr[i];
arr[j]=arr[j+1];
arr[j+1] = t;
}
}
}
return arr; }

2、选择排序:

每一轮用数组中的第n个数和后面的数依次比较,如果arr[n]大于后面的数,就交换 n从下标为0开始 一直到arr.length-1;

3、sort 方法排序:

    按照字符编码的顺序进行排序:

八、数组新增的方法:

1、indexOf():判断一个数在某个数组中是否存在,如果存在返回这个数在数组的位置,不存在返回-1;

2、forEach() 遍历数组 没有返回值;

3、map() 映射 遍历数组 --操作数组--返回数组

4、filter 过滤 按照某个条件过滤,返回过滤后的数组;

5、reduce()归并 返回值是最后一次操作的结果;

6、some()返回一个boolean,判断是否有元素符合func条件,如果有一个元素符合,则循环终止;

7、every() 返回一个boolean,判断每个元素是否符合func条件,有一个元素不满足,则循环终止,返回false。

JS中数组的介绍的更多相关文章

  1. js中数组方法大全

    js数组方法大全 一:前言 我们在学到js中数组的时候,我们会接触到js中数组的一些方法,这些方法对我们来说,可以很遍历的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会 ...

  2. js中数组去重方法及性能对比

    js中数组的 数组去重 常用的数组去重方法以及效率分析: 首先我们先构建一个数组,主要是用于进行去重实验,我们主要实验的量级为1000,10000,100000,500000.具体的生成数组的方法如下 ...

  3. js中数组去重的几种方法

    js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                 ...

  4. JavaScript -- 时光流逝(二):js中数组的方法

    JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...

  5. php和js中数组的总结

      php中数组的表示方法:array()或者[] js中数组的表示方法:new array()或者[] 一.php中初始化命名数组 在PHP中声明数组的方式主要有两种:一是应用array()函数声明 ...

  6. js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join

    js中数组增删查改unshift.push.pop.shift.slice.indexOf.concat.join

  7. js中数组如何使用

    js中数组如何使用 一.总结 一句话总结:new Array()和[]两种方法都可以创建数组. 二.js中创建数组,并往数组里添加元素 数组的创建 var arrayObj = new Array() ...

  8. js中数组扁平化处理

  9. JS 中数组的排序和去重

    在 PHP 中,数组有很多排序方法,不过其他语言的数组中大概是不会像 JS 的数组一样,包罗万象,啥都通吃的.所以 JS 的数组排序情况就略多一些了. 简单粗暴的排序: 赤果果的sort: var   ...

随机推荐

  1. <VS>MFC程序显示命令行窗口

    编写MFC程序时,想打印出调试信息,使用cout后,发现程序并没有像想象中那样自动弹出命令行窗口,要输出的信息也没地方去查看.百度后知道要手动调出命令行窗口,才可以看到输出的信息.   百度上介绍了两 ...

  2. [Codeforces 787D] Legacy

    [题目链接] https://codeforces.com/contest/787/problem/D [算法] 线段树优化建边 ,  然后用Dijkstra算法求单源最短路 时间复杂度 : O((N ...

  3. android 怎么实现跑马灯效果

    自定义控件 FocusedTextView, 使android系统误以为它拥有焦点 public class FocusedTextView extends TextView { public Foc ...

  4. 51nod1228

    伯努利数 这个是答案 其中的b是伯努利数,可以n^2预处理 伯努利数n^2递推 #include<bits/stdc++.h> using namespace std; typedef l ...

  5. sql之视图、触发器、函数、存储过程、事务

    视图 # 视图也是一张表,但在data文件里只有表结构,没有表数据 # 不建议使用,扩展性差,程序需改变时,依赖的视图也要改变 # 视图牵涉到多张表时,视图中的记录不能修改. create view ...

  6. struts2 中的 addActionError 、addFieldError、addActionMessage的方法

    addActionError .addFieldError.addActionMessage都是ActionSupport的方法 一.addActionError("错误内容"): ...

  7. 洛谷 - P1020 - 导弹拦截 - 最长上升子序列

    https://www.luogu.org/problemnew/show/P1020 终于搞明白了.根据某定理,最少需要的防御系统的数量就是最长上升子序列的数量. 呵呵手写二分果然功能很多,想清楚自 ...

  8. 关于`babel-loader`和`babel-core`版本兼容性问题

    1. 安装babel-loader和babel-core出现问题 1.1 安装babel的转换工具包: npm i babel-core babel-loader babel-plugin-trans ...

  9. 渲染路径-实时渲染中常用的几种Rendering Path

    http://www.cnblogs.com/polobymulberry/p/5126892.html?utm_source=tuicool&utm_medium=referral 回到顶部 ...

  10. 如何实现一个无边框Form的移动和改变大小(一)

    很多时候我们不希望使用Windows提供的窗体. 我们希望使用一个无边框的窗体,什么border,caption透明就行了. 下面我们来说下一些实现方法. 这个方法要求窗体自定义的border siz ...