JavaScript 数组及冒泡排序
数组的定义方法: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 数组及冒泡排序相关推荐
- javascript中数组、冒泡排序、函数及函数实参形参、arguments伪数组、异步函数等介绍
数组: 指一组有顺序的数据,其作用就是用来一次性存储多个数据.(数组元素:数组中的每一个数据:数组长度:数据中元素的个数:数组索引:用来存储或访问数组中的数据,也叫下标,索引从0开始,即第一个数组元素 ...
- JavaScript数组的API
JavaScript数组的API 一. 扁平化嵌套数组/展平和阵列孔--flat() 实现效果 var arr1 = [1, 2, [3, 4]]; arr1.flat(); // [1, 2, 3, ...
- 基于JavaScript 数组的经典程序应用源码(强烈建议收藏)
文章目录 设计一个数组输入并显示的程序. 数组输入和显示 选择排序 选择排序 排序程序包 排序网页 杨辉三角形 杨辉三角形网页 C语言画一个sin(x)的曲线 螺旋线访问二维数组 JavaScript ...
- js 数组从头添加到数组_如何从头开始实现JavaScript数组方法
js 数组从头添加到数组 介绍 (Introduction) JavaScript includes several functions for working with arrays that go ...
- 【JavaScript】 9 - JavaScript数组
JavaScript数组 需要思考的问题: 为什么要有数组? 如何创建数组? 如何获取数组中的元素? 如何对数组进行遍历? 如何给数组新增一个元素? 什么是冒泡排序? 1.数组的概念 问:之前学习的变 ...
- [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)
课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...
- 这是如何更好地利用JavaScript数组的方法
by pacdiv 由pacdiv 这是如何更好地利用JavaScript数组的方法 (Here's how you can make better use of JavaScript arrays) ...
- Javascript 数组
Javascript 数组 Javascript中的Array可以包含任意数据类型,并通过索引来访问每个元素. 要取得Array的长度,直接访问length属性: var arr = [1, 2, 3 ...
- JavaScript 数组拼接打印_JavaScript 数组方法
JavaScript 数组方法 JS 数组 JS 数组排序 JavaScript 数组的力量隐藏在数组方法中. 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值 ...
最新文章
- Django 的反向解析与有无名分组
- 使用VS搭建三层结构
- Java开发中更多常见的危险信号
- 如何对工业交换机端口进行调试?
- fullgc频繁的原因_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定
- 关于bootstrap的modal弹出层嵌套子Modal所引发的血案(转)
- 微信淘宝等平台要互通!?腾讯阿里字节回应
- 我是不是得工作恐惧症了
- python 有限域函数库_有限域GF(2^8)内乘法代码实现以及原理
- 常见linux软件下载地址
- sm是什么职位_职位或职级ED MD SM M 是什么意思?
- windows10 家庭版U盘安装教程
- 腾讯QQ邮箱、网易163邮箱配置客户端(Windows自带邮件)教程
- 激战2怎么选最新的服务器,选哪个服好?《激战2》高玩分析各服务器进驻人数...
- 精通Groovy_B 循环, 范围, 集合, 映射, 闭包, 类, UT
- pytho lambda表达式
- 站长还应该发布外链吗?
- 怎样缓解灾难性遗忘?持续学习最新综述三篇
- Cannot run program python问题解决
- lamdba表达式的使用
热门文章
- 夜光带你走进通信网络(六) 新的领域
- 鉴别真正牛奶生产日期
- ubuntu下监控:温度
- rp虚拟服务器,魔兽世界RP服务器是什么?怀旧服RP服务器有什么不同
- 大数据培训技术Kibana
- 大数据培训 | 什么才算是大数据,零基础怎么学习大数据技术
- 从零开始vue使用cesium开发3d地形terrainProvider(二)
- 《从零开始编写一个直播服务器》 C++ 实现一个最简单的RTSP流媒体服务器
- Spark---JVM调优之调节executor离堆内存与连接等待时长
- 基于vue+node+MySQL的导航可视化系统webapp设计