一、数组的定义

1.理解:数组指一组数据,有序的数据,可以一次性存储多个数据,将多个元素(通常统一类型)按照一定的顺序排列放到一个集合里

2.通过构造函数创建数组: var 数组名=new Arrary( )

var arr=new Array();

注:括号里如果是1个数字,代表数组的长度是这个数字,就是里面有多少个元素;

括号里如果有多个数字,代表的就是元素本身。

        var arr=new Array(5);
console.log(arr);//(5) [empty × 5]表示5个空元素
       var arr=new Array(5,1,10);
console.log(arr);//(3) [5, 1, 10]表示3个元素:5,1,10

3.通过字面量的方式创建数组 var 数组名=[    ]

var arr=[1,2,3,4,5];

4.注意

  • 如果定义的数组没有长度,那么默认是undefined;
        var arr=[];
console.log(arr[1]);//undefined
  • 数组长度代表的是元素的个数,通过数组名.length获取数组长度(元素个数)
       var arr=[1,2,3,4,5];
console.log(arr.length);//
  • 数组的下标(索引)是从0开始的
        var arr=[1,2,3,4,5];
console.log(arr[0]);//
console.log(arr[1]);//
console.log(arr[4]);//
  • 数组里面的数据类型可以不一样,但是通常都是一样的,方便操作
       var arr=[1,"前端",2];
console.log(arr[0]);//
console.log(arr[1]);//前端
  • 数组的长度可以改变,通过索引来设置数组中的元素的值
        var arr=[];
console.log(arr.length);//
arr[0]=1;
arr[1]=4;
arr[2]=5;
console.log(arr);//(3) [1, 4, 5]
console.log(arr.length);//

二、数组的遍历:for循环

        var arr=[10,20,30,40,50];
for(var i=0;i<arr.length;i++){
console.log(arr[i]);//10 20 30 40 50
}

运用例子:

 //例1:数组中所有元素的和
var arr=[10,20,30,40,50];
var sum=0;
for(var i=0;i<arr.length;i++){
sum+=arr[i];
}
console.log(sum);//
 //例2:数组中元素的平均值
var arr=[10,20,30,40,50];
var sum=0;
for(var i=0;i<arr.length;i++){
sum+=arr[i];
}
console.log(sum/arr.length);//30
  //例3:数组中的最大值和最小值
var arr=[10,20,30,40,50];
var max=arr[0];
var min=arr[0];
for(var i=0;i<arr.length;i++){
if(max<arr[i]){
//最大值
max=arr[i];
}
if(min>arr[i]){
//最小值
min=arr[i];
}
}
console.log(max);//
console.log(min);//
 //例3:数组拼接字符串输出
var arr=[10,20,30,40,50];
var str="";
for(var i=0;i<arr.length;i++){
if(i==0){
str+=arr[i];
}else{
str+="|"+arr[i];
}
}
console.log(str);//10|20|30|40|50
 //例4:去掉重复的0
var arr=[1,0,5,0,9,0,10];
var newArr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]!=0){
//利用新数组的长度巧妙的解决
newArr[newArr.length]=arr[i];
}
}
console.log(newArr);//(4) [1, 5, 9, 10]
  //例5:求数组的反转数
var arr=[10,40,50,20,30];
for(var i=0;i<arr.length/2;i++){
temp=arr[i];
arr[i]= arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
console.log(arr);//(5) [30, 20, 50, 40, 10]

三、冒泡排序:把所有的数据按照一定的顺序进行排列

 // 冒泡排序(从小到大)
var arr=[50,40,30,20,10];
for(i=0;i<arr.length-1;i++){
//比较的轮数循环
for(var j=0;j<arr.length-1-i;j++){
//比较的次数循环
if(arr[j]>arr[j+1]){
//交换变量
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr);//(5) [10, 20, 30, 40, 50]
  //冒泡排序(从大到小)
var arr=[10,20,30,40,50];
for(var i=0;i<arr.length-1;i++){
//比较的轮数循环
for(var j=0;j<arr.length-1-i;j++){
//比较的次数循环
if(arr[j]<arr[j+1]){
//交换变量
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr);//(5) [50, 40, 30, 20, 10]

四、数组合并:使用concat方法合并数组

//数组合并
var ary1=[22,33,44,55,66];
var ary2=["文件","编辑","查找","调试"];
var ary3=ary1.concat(ary2);
console.log(ary3);//(9) [22, 33, 44, 55, 66, "文件", "编辑", "查找", "调试"]

五、Join 方法  返回一个字符串

//        数组连接符join,返回一个字符串
var ary4=[12,34,56,"前端","abc"];
var ary5=ary4.join("&");
document.write(ary5+ "<br>" +"返回的数据类型是:" + typeof(ary5))
//  数组连接符join,返回一个字符串
var ary1=[12,34,56,"前端","abc"];
var ary=ary1.join("&");
console.log(ary);//12&34&56&前端&abc
console.log(typeof(ary));//string

数组(定义、遍历、冒泡排序、合并和Join 方法)的更多相关文章

  1. js二维数组定义和初始化的三种方法总结

    js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...

  2. Array(数组)对象-->join() 方法

    1.定义和用法 join() 方法把数组中的所有元素用指定的参数作为分隔符拼接成一个字符串. 语法: array.join(separator) 举例: var arr = [1,2,3,4,5]; ...

  3. 初识Javascript.03 -- switch、自增、while循环、for、break、continue、数组、遍历数组、合并数组concat

    除了注意大小写,别的木啥了 Switch语句 Switch(变量){ case 1: 如果变量和1的值相同,执行该处代码 break; case 2: 如果变量和2的值相同,执行该处代码 break; ...

  4. js数组定义和方法 (包含ES5新增数组方法)

    数组Array 1. 数组定义 一系列数据的集合成为数组.数组的元素可以为任何类型的数据(包括数组,函数等),每个元素之间用逗号隔开,数组格式:[1,2,3]. 2. 数组创建方式 (1) 字面量方法 ...

  5. javascript(基础)_对数组的遍历方法总结(find, findIndex, forEach,)

    一.前言                                                                                                ...

  6. Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解

    Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解 一.Jquery遍历筛选数组 1.jquery grep()筛选遍历数组 $().ready( function(){ v ...

  7. 2016/3/20 数组定义 数组遍历 超全局数组 数组元素设置(in_array() 、array_reverse()、count()、array_unique()、unset()、array_values、array_merge、array_push) 列表实例

    一.数组定义 php数组与其他语言的数组的不同: 其他例如java语言 :同一种类型数据的集合. php:数组可以存储任何类型的数据.同一个数组中可以放int类型也可以放string类型 ①索引数组的 ...

  8. java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历

    一,数组的定义 Java 中定义数组的语法有两种: 1. type arrayName[]; 2. type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,ar ...

  9. 数组中的元素 增加push用法 unshift() 方法 和减少pop() 方法 shift() 和其他位置增删 splice() 方法 join() 方法 reverse() 方法 sort() 方法

    push用法 push 英 [pʊʃ] 美 [pʊʃ] vt. 推,推动; vt. 按; 推动,增加; 对…施加压力,逼迫; 说服; n. 推,决心; 大规模攻势; 矢志的追求 定义和用法 push( ...

随机推荐

  1. git 学习笔记 ---解决冲突

    人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发: $ git checkout -b feature1 Switched to a new ...

  2. GreenPlum 最佳实践

    数据模型 Greenplum数据库是一种shared nothing的分析型MPP数据库.这种模型与高度规范化的/事务型的SMP数据库有显著区别.Greenplum数据库使用非规范化的模式设计会工作得 ...

  3. busybox测试dns问题

    获取svc [root@master01 ~]# kubectl get svc NAME                 TYPE        CLUSTER-IP       EXTERNAL- ...

  4. Ambari调整日志级别:How to enable debug logging in Ambari Server and Ambari Agent ?

    PURPOSE When troubleshooting Ambari issues, it may be necessary to enable debug logging in the Ambar ...

  5. npm全局模块卸载及默认安装目录修改方法

    卸载全局安装模块  npm uninstall -g <package> 卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:npm ls npm ...

  6. js流程控制语句(三)

    如果在语句中需要声明变量时:最好给他们赋予初始类型值[js中变量声明使用var属于弱类型声明,若只声明则均表示为undefined,在后面语句计算中可能会产生错误计算];相应的类型变量需要如下方式进行 ...

  7. JavaWeb 之 Filter:过滤器

    一.Filter 概述 1.概念 web 中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能. 2.作用 一般用于完成通用的操作.如:登录验证.统一编码处理.敏感字符等功能 ...

  8. MySQL Backup--Xtrabackup介绍

    Xtrabackup介绍 Xtrabackup是由Percona公司研发的开源热备工具,支持MYSQL 5.0 以上版本. 由于Xtrabackup支持备份innodb表,实际生产环境中我们使用的工具 ...

  9. python自动化测试框架

    一.环境准备 1.python开发环境, python3.7 2.setuptools基础工具包 3.pip安装包管理工具 4.selenium自动化测试工具  chrom驱动下载地址: http:/ ...

  10. Linux-负载均衡HAproxy

    负载均衡之HAProxy 现在常用的三大开源软件负载均衡器分别是Nginx.LVS.HAProxy.三大软件特点如下: LVS负载均衡的特点: ()抗负载能力强,抗负载能力强.性能高.能达到F5硬件的 ...