js数组及数组应用(冒泡和二分,遍历输出)
一、定义:1)var arr=new Array();
加数据:arr[0]=1;
2)定义同时赋值:var arr=new Array(1,2,3,4,5);
3)调用:var arr=new Array();
arr.push(1);用.push调用
4)var arr=[1,2,3,4,5];
alert(arr[4]);
二、属性:1)arr.length:数组的长度
eg:var arr=new Array(1,2,3,4,5,6);
alert(arr.length);

arr.length;属性(国定)
arr.push:方法(不固定)
2)arr.indexOf:判断数组中是否存在输入的这个数据,若返回索引则存在,返回-1则不存在
eg:var arr=new Array(1,2,3,4,5,6);
var a=3;
alert(arr.indexOf(a));

二维数组:数组外面又套了一个数组
var arr=new Array(
var arr=new Array(1,2,3,4,5,6);
var arr=new Array(11,12,13,14,15,16);
);
三、遍历输出:1、for循环
var arr=new Array(10,20,11,14,18,30,50);
for(var i=0;i<arr.length;i++)
{
alert(arr[i]);
}







2、foreach:强类型中不用与数组,用于集合
arr int 集合遍历
数组索引叫做key,数组里面的值叫做value,key和value是成对存在的,叫做键值对
冒泡:比较的轮次是数组长度减一,比较的次数是数组长度减轮次
var arr=new Array(70,34,60,49,20,59,98,100);
var zj=0;
第一次for用来控制循坏轮数
for(var i=1;i<arr.length;i++)
{
for(var a=0;a<arr.length-i;a++)控制每轮比较次数;
{
if(arr[a]<arr[a+1])
{
arr[a]=zj;
arr[a+1]=arr[a];
zj=arr[a+1];
}
}
}
二分法:在一个数组中查找数据,找到数据所在位置的索引
var arr =new Array(1,2,3,4,5,6,7,8,9,10);
var a=3;
var maxd=arr.length-1;mind=0;
while(true){
var zjd=parseInt((maxd+mind)/2);
if(zjd==minx){
if(a==arr[zjd+1]){
alert(zjd+1);
break;
}
}
if(a==zjd){
alert(zjd);
break;
}else if(a>zjd){
mind=zjd;
}else{maxd=zjd;}
}
js数组及数组应用(冒泡和二分,遍历输出)的更多相关文章
- js二维数组与字符串
1. 二维数组:数组中的元素,又引用了另一个数组对象 何时使用:只要保存横行竖列的数据, 具有上下级包含关系的数据, 创建二维数组: 1. var arr=[]; col arr[0]=[" ...
- JS数组追加数组采用push.apply的坑
JS数组追加数组没有现成的函数,这么多年我已经习惯了a.push.apply(a, b);这种自以为很酷的,不需要写for循环的写法,一直也没遇到什么问题,直到今天我要append的b是个很大的数组时 ...
- JS Jquery去除数组重复元素
js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i < len;i++) { ...
- 多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量
多动手试试,其实List类型的变量在页面上取到的值可以直接赋值给一个js的Array数组变量,并且数组变量可以直接取到每一个元素var array1 = '<%=yearList =>'; ...
- js中的数组
上网查了一下,js中的数组包含的内容还真不少.先给出两个学习的链接: w3school链接:http://www.w3school.com.cn/js/js_obj_array.asp 博客园链接:h ...
- JS与PHP数组操作的不同
JS与PHP数组操作的不同 1.JS 中向数组中添加元素,必须指定下标 2.php中向数组中添加元素,可以不指定下标(追加) 3.JS 中数组元素的下标,是连续 4.PHP中数组元素的下标,可以不连续 ...
- 关于 js 2个数组取差集怎么取
关于 js 2个数组取差集怎么取? 例如求var arr1 = [1]; var arr2 = [1,2];的差集方法一: Array.prototype.diff = function(a) { r ...
- 有几数组表单,js怎么获得数组并动态相加输出到文本框
有几数组表单,js如何获得数组并动态相加输出到文本框<input name= "fee1[] "> <input name= "fee2[] & ...
- JS数组追加数组采用push.apply的坑(转)
JS数组追加数组没有现成的函数,这么多年我已经习惯了a.push.apply(a, b);这种自以为很酷的,不需要写for循环的写法,一直也没遇到什么问题,直到今天我要append的b是个很大的数组时 ...
随机推荐
- myeclipse的class文件编译设置
一,设置单个工程的class文件路径 右击工程,BulidPath——Configure Build Path
- poj 1008
#include<iostream>#include<string> using namespace std;string hname[19] = { "pop&qu ...
- Linux的环境变量设置和查看
一.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.永久的:需要修改配置文件,变量永久生效. 2.临时的:使用export命令声明即可,变量在关闭shell时失效. 二. ...
- 基于express+mongodb+pug的博客系统——pug篇
很久之前就想自己搭一个博客了,最开始用hexo+github,但是换电脑后总是有些麻烦.后来使用WordPress,但是用WordPress总觉得没什么技术含量,前后端都是人家写好的,而且买的垃圾虚拟 ...
- 让人恼火的经历——手机H5网页被注入广告
你的网站是否在尾部出现了让人恼火的广告? 这次我算是遇到了这些流氓的广告.那么就让我们一步步攻克这些恼火的广告吧. 问题描述 某一天下午开始,我们制作的网站就开始被各种广告注入,类似上图这种. 还有在 ...
- 最常用的缓存技术---redis入门
Redis简介 Redis是基于内存,也可以基于磁盘持久化nosql数据库,使用c语言开发. 数据存储结构:key-value 安装环境准备 Redis使用c语言开发,需要使用gcc编译程序进行编 ...
- Mybatis的mapper文件引起模块划分的思考
起因:项目中将公用的代码抽离到单独一个项目 cms-common.jar (注:公用的代码不只是工具类代码,包含service和dao等) 构建:每次构建项目 cms.war 的时候,需要引入cms- ...
- VR全景加盟-了解VR就来全景智慧城市
关于什么是真正的VR说了这么多,面对刚刚起步的VR,如何辨别判断一个真正的VR形式呢.除了我们所说几个参数或者大家关注的眩晕感.临场感,真正的VR究竟带给大家什么样的特性呢?这个就要从VR的本质谈起. ...
- 使用 CKEditor 上传图片, 粘贴屏幕截图
之前写过wangEditor,那真是好用,文档也清晰,半天就搞定了,无奈没有对应license,只好选择别的. 外语一般,阅读理解都靠蒙.CKEditor官方文档看的我云里雾里,国内的博客比较少,经过 ...
- netsh & winsock & 对前端的影响
netsh 与 winsock 一个是window的脚本工具,另一个则是window是网络编程中要用到的网络接口,而非要说跟我小小的前端有什么影响,那还真有...,当然这个影响是很不好的,比如node ...