javascript基础数组,字符串的操作和冒泡函数等
Posted solaris-wwf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript基础数组,字符串的操作和冒泡函数等相关的知识,希望对你有一定的参考价值。
数组
var arr = new Array(2,1,5,6,7,4,9); var arr2 = Array(1,2,"33"); //省略new来创建数组 var arr3 = [1,2,"33"]; //通过常量来创建数组 Math.random(); //0~1之间任意的数。 for(var i in arr){document.write(arr[i]+" ");} //另一种遍历arr的方式。这个方法要比for循环效率高
1.栈结构:
push()方法:从一口进,从同一个口出。特点:先进后出。功能:给数组末尾添加元素,
alert(arr); var aes = arr.push("ee","sdfs"); alert(aes); //返回值:添加完元素之后,数组的长度。
pop()方法:去掉最后一个元素
var aes = arr.pop(); alert(aes); //返回值:返回刚才去掉的最后一个元素。
队列结构:从一头进,从另外一头出去,特点:先进先出
shift()方法,从数组的头部去掉一个元素
unshift()方法,从数组的头部插入元素
concat();数组的合并,返回值,合并后的新数组, arr.concat(arr2);
slice();剪切数组,返回值,剪切后的新数组, slice(1,3); 去掉下标第二第四的元素,
splice();splice(下标,length,元素);
删除功能: splice(1,1); 去掉第二个长度1, var am = arr.splice(1,1); 这个返回值为删除的第二个元素,
添加功能: splice(1,0,"sdf");splice(1,0,"sdf","dsf"); 从第二个元素开始添加元素
替换功能: splice(1,1,"sdfsd");
join();拼接符,将元素拼接成字符串, arr.join("+s"); 返回值,返回字符串
reverse();数组的逆向排序
sort();升序排序,默认是用字符串的asc ii编码表来排序的,而不是按照大小来排序的,
2.二维数组
1,2,3,4,5
6,7,8,9,10
var arr = [[],[],[],[],[]]; var count = 0;每个数组中的元素 var arr = []; for(i=0;i<5;i++){var newArr = [] for(j=0;j<5;j++){newArr.push(++count);} arr.push(newArr); } alert(arr.length);//返回5 alert(arr[0]);//返回1,2,3,4,5, for(i=0;i<arr.length;i++){ for(j=0;j<=i;j++){document.write(arr[i][j] + "&ensp");} document.write(<br />); }
冒泡排序
按顺序逐步把最大的放到最后面。
var arr4 = [9,4,8,6,7,2]; for(i = 0;i < arr4.length;i++) { for(j = 0;j < arr4.length -i -1 ; j++) { if(arr4[j] > arr4[j+1])//比较前后两个数字是否符合交换条件 { var tmp = arr4[j];//先将大的元素放进一个变量, arr4[j] = arr4[j+1];//前后交换变量 arr4[j+1] = tmp; } } } alert(arr4);
选择排序
按顺序谁最大谁就排在最后面
var arr4 = [5,6,4,7,3,9]; for(i = 0;i < arr4.length;i++) { for(j = i;j < arr4.length ; j++) { if(arr4[j] < arr4[i]) { var tmp = arr4[i]; arr4[i] = arr4[j]; arr4[j] = tmp; } } } alert(arr4);
变量函数中作用域
var a = 10; function show(){ a=5; } show(); alert(a);//返回5 var a = 10; function show(a){ a=5; } show(a); alert(a);//返回10,形参在函数调用结束后被释放 var arr = [1,2]; function show(arr){arr.push(3,4);} alert(arr);//返回1,2,3,4 数组是复合数据类型/引用数据类型,并不存储在函数中,存储在堆段,所有复合数据类型都是引用地址
字符串的函数:必须在document.write中使用
var str = "hello"; str.charAt(2); 下标返回l。 str[1]; 也可以,不能被赋值, str[1] = "x"; ,只能 str = "sdf";
big();用大号字体显示,
blink();用闪动字符串(ie不兼容)
bold();使用粗体
fixed();以打字机的文本显示,
strike();使用删除线
fontcolor();
fontsize();
link();链接
sub();下标, document.write("hello".sub());
sup();上标
charCodeAt(下标);返回asc ii码值
fromCharCode(asc ii 码值)
concat();
var str = "1"; var str2 = "2"; var str3 = str.concat(str2);
字符串的查找方法:
indexOf();indexOf(子串,开始查找的下标),返回值,相同字符串第一次出现的位置,或者没有返回-1
lastIndexOf();lastIndexOf(子串);相同字符串第后一次出现的位置,返回值,没有-1
search();参数可以是正则表达式,i是忽略大小写,g代表全局匹配
var str = "Abcabcabc";str.search("abc"); 返回3,正则表达式/abc/i,返回0
字符串替换:
replace();replace(匹配字符串/正则表达式,"df");返回值,替换后的字符串,
replace("are","sdf");特点,只能替换第一次找到的目标
replace(/sf/g,"sdf");替换掉所有相同字符串
substring(); substring(2,4); 截取下标2和3不包括4,返回值,生成的新字符串
slice(); slice(-2); 截取最后两个字符。
split();split(分隔符,生成的数组长度);返回一个数组
var str = "this is it";var arr = str.split(" ",2); 长度两个的数组
数组转换字符串arr.join("");返回一个字符串
toLowCase();全小写
toUpperCase();全大写
以上是关于javascript基础数组,字符串的操作和冒泡函数等的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript基础在写冒泡排序时遇到的JavaScript基础问题:JavaScript的数据类型和变量赋值时的原理