数组的定义方法:JS里数组可以理解为一种数据的组合,在JS里可以存多种类型的东西。

三种定义方式 设置数组变量名为arr。

1. var arr = Array();或var arr = new Array();

2. var arr = Array('a','b','c'); 存入了字符串

3. var arr =['a','b','c'];

对其赋值方式,以var arr = Array();为例

var arr = Array();

arr[0] = 'a' ;

arr[1] = 'b' ;

arr[2] = 999;

中括号内等于一个KEY,后面的就是其对应的值。

数组单个取值方式:以上面的设置为条件

alert(arr[2]);   可以直接取出他的值

数组遍历:用for循环可以遍历

arr.push('666');    ←  .push('666'); 单词带括号是针对对象的方法

alert(arr.length);  ← .lengh是变量arr这个对象的属性,属性名称是长度

第一种遍历方法: 存的字符串取值不显示

for(var i=0;i<arr.length;i++){

alert(arr[i]);

}

第二种遍历方法:存的字符串取值可以显示

for(var i in arr) {

alert(arr[i]);

}

遍历查询:

var arr = [1,2,3,4,5,6,7,8]

var x = parseInt(prompt('请输入查询内容'));

var status = 1;

for(var i = 0;i<arr.length;i++){      ←i是索引值,从0开始

if(arr[i] == x)

{

alert(i);

break;

}

}

 

变量交换:把两个变量的值互换

变量交换必须有一个临时的定义temp,不需要赋值

var a = 1;

var b = 2;

var temp;

temp = a;     先把a放到临时的temp里

a = b;        再把b放入a内

b = temp;     最后把temp里的a放入b,从而达到ab内的值互换

冒泡排序:打乱顺序的数字进行从小到大排序的运行方式

设定数组

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

第一轮比对,从第一个数字本身开始(本身索引位置是0)跟第二个数字进行比对,并且挨个跟后面的数字循环比对

0

for(var j = 1; j < arr.length; j++) {

if(arr[0] > arr[j]) {          ←自身索引位置数值大于J的索引值进行交换

var temp;

temp = arr[0];

arr[0] = arr[j];

arr[j] = temp;

}

}

第二轮比对,从第二个数字本身开始(索引位置是1)跟第三个数字进行比对,并且挨个跟后面的数字循环比对

1

for(var j = 2; j < arr.length; j++) {

if(arr[1] > arr[j]) {

var temp;

temp = arr[1];

arr[1] = arr[j];

arr[j] = temp;

}

}

第三轮比对,从第三个数字本身开始(索引位置是2)跟第四个数字进行比对,并且挨个跟后面的数字循环比对

2

for(var j = 3; j < arr.length; j++) {

if(arr[2] > arr[j]) {

var temp;

temp = arr[2];

arr[2] = arr[j];

arr[j] = temp;

}

}

得出方式结论:

i是索引值,从自身0开始,而且小于长度,然后递增

J是需要比对的数字,他是从i后面开始进行比对的

for(var i = 0; i < arr.length; i++) {

for(var j = i+1; j < arr.length; j++) {

if(arr[i] > arr[j]) {

var temp;

temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

得出公式后最后按顺序输出即可

for(var x in arr){

alert(arr[x]);

}

转载于:https://www.cnblogs.com/xfxy/p/6727250.html

JavaScript 数组及冒泡排序相关推荐

  1. javascript中数组、冒泡排序、函数及函数实参形参、arguments伪数组、异步函数等介绍

    数组: 指一组有顺序的数据,其作用就是用来一次性存储多个数据.(数组元素:数组中的每一个数据:数组长度:数据中元素的个数:数组索引:用来存储或访问数组中的数据,也叫下标,索引从0开始,即第一个数组元素 ...

  2. JavaScript数组的API

    JavaScript数组的API 一. 扁平化嵌套数组/展平和阵列孔--flat() 实现效果 var arr1 = [1, 2, [3, 4]]; arr1.flat(); // [1, 2, 3, ...

  3. 基于JavaScript 数组的经典程序应用源码(强烈建议收藏)

    文章目录 设计一个数组输入并显示的程序. 数组输入和显示 选择排序 选择排序 排序程序包 排序网页 杨辉三角形 杨辉三角形网页 C语言画一个sin(x)的曲线 螺旋线访问二维数组 JavaScript ...

  4. js 数组从头添加到数组_如何从头开始实现JavaScript数组方法

    js 数组从头添加到数组 介绍 (Introduction) JavaScript includes several functions for working with arrays that go ...

  5. 【JavaScript】 9 - JavaScript数组

    JavaScript数组 需要思考的问题: 为什么要有数组? 如何创建数组? 如何获取数组中的元素? 如何对数组进行遍历? 如何给数组新增一个元素? 什么是冒泡排序? 1.数组的概念 问:之前学习的变 ...

  6. [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)

    课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...

  7. 这是如何更好地利用JavaScript数组的方法

    by pacdiv 由pacdiv 这是如何更好地利用JavaScript数组的方法 (Here's how you can make better use of JavaScript arrays) ...

  8. Javascript 数组

    Javascript 数组 Javascript中的Array可以包含任意数据类型,并通过索引来访问每个元素. 要取得Array的长度,直接访问length属性: var arr = [1, 2, 3 ...

  9. JavaScript 数组拼接打印_JavaScript 数组方法

    JavaScript 数组方法 JS 数组 JS 数组排序 JavaScript 数组的力量隐藏在数组方法中. 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值 ...

最新文章

  1. Django 的反向解析与有无名分组
  2. 使用VS搭建三层结构
  3. Java开发中更多常见的危险信号
  4. 如何对工业交换机端口进行调试?
  5. fullgc频繁的原因_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定
  6. 关于bootstrap的modal弹出层嵌套子Modal所引发的血案(转)
  7. 微信淘宝等平台要互通!?腾讯阿里字节回应
  8. 我是不是得工作恐惧症了
  9. python 有限域函数库_有限域GF(2^8)内乘法代码实现以及原理
  10. 常见linux软件下载地址
  11. sm是什么职位_职位或职级ED MD SM M 是什么意思?
  12. windows10 家庭版U盘安装教程
  13. 腾讯QQ邮箱、网易163邮箱配置客户端(Windows自带邮件)教程
  14. 激战2怎么选最新的服务器,选哪个服好?《激战2》高玩分析各服务器进驻人数...
  15. 精通Groovy_B 循环, 范围, 集合, 映射, 闭包, 类, UT
  16. pytho lambda表达式
  17. 站长还应该发布外链吗?
  18. 怎样缓解灾难性遗忘?持续学习最新综述三篇
  19. Cannot run program python问题解决
  20. lamdba表达式的使用

热门文章

  1. 夜光带你走进通信网络(六) 新的领域
  2. 鉴别真正牛奶生产日期
  3. ubuntu下监控:温度
  4. rp虚拟服务器,魔兽世界RP服务器是什么?怀旧服RP服务器有什么不同
  5. 大数据培训技术Kibana
  6. 大数据培训 | 什么才算是大数据,零基础怎么学习大数据技术
  7. 从零开始vue使用cesium开发3d地形terrainProvider(二)
  8. 《从零开始编写一个直播服务器》 C++ 实现一个最简单的RTSP流媒体服务器
  9. Spark---JVM调优之调节executor离堆内存与连接等待时长
  10. 基于vue+node+MySQL的导航可视化系统webapp设计