1. 程式人生 > >氣泡排序和字串(String)物件及處理字串的方法

氣泡排序和字串(String)物件及處理字串的方法

氣泡排序

第一種方法
			var times=0;
			var arr=[12,3,6,9,77,37];
			for(var i=0;i<arr.length-1;i++){	//控制比較的行數
				for (var j=0;j<arr.length-i-1;j++) {		//控制比較的次數
					var kong;
					if (arr[j]>arr[j+1]) {
						kong=arr[j];
						arr[j]=arr[j+1];
						arr[j+1]=kong;
					}
					console.log('第'+(++
times)+'次排序結果為:'+arr); } } // for (var i=0;i<arr.length;i++) { // document.writeln(arr[i]); // }

第一輪比較了5次(arr.length-i-1)

第1次排序結果為:3,12,6,9,77,37
第2次排序結果為:3,6,12,9,77,37
第3次排序結果為:3,6,9,12,77,37
第4次排序結果為:3,6,9,12,77,37
第5次排序結果為:3,6,9,12,37,77

第二輪比較了4次(arr.length-i-1)

第6次排序結果為:3,6,9,12,37,77
第7次排序結果為:3,6,9,12,37,77
第8次排序結果為:3,6,9,12,37,77
第9次排序結果為:3,6,9,12,37,77

第三輪比較了3次(arr.length-i-1)

第10次排序結果為:3,6,9,12,37,77
第11次排序結果為:3,6,9,12,37,77
第12次排序結果為:3,6,9,12,37,77

第四輪比較了2次(arr.length-i-1)

第13次排序結果為:3,6,9,12,37,77
第14次排序結果為:3,6,9,12,37,77

第五輪比較了1次(arr.length-i-1)

第15次排序結果為:3,6,9,12,37,77

第二種方法
			var arr1=[12,3,10,64,33,2];
			for (var a=0;a<arr1.
length-1;a++) { //控制比較的行數 for (var b=a+1;b<arr.length;b++) { //控制比較的次數 var tamp; if (arr1[a]>arr1[b]) { tamp=arr1[a]; arr1[a]=arr1[b]; arr1[b]=tamp; } console.log('第'+(++times)+'次排序結果為:'+arr1); } } // for (a=0;a<arr1.length;a++) { // document.writeln(arr1[a]); // }

字串(String)物件及處理字串的方法

length 獲取字串的長度

操作字串資料的方法

①match():返回指定的值

		document.write('match():返回指定的值'+'<br />');
		var str1='翩翩公子  溫柔小姐  嬌嬌公主  尊貴殿下  白馬王子  勇猛將軍';
//		alert(str1.length);										//獲取字串長度
		document.write(str1.match('公子')+'<br />');	 			//顯示結果為公子
		document.write(str1.match('公子小姐')+'<br />');		   //顯示結果為null,不存在
		document.write(str1.match('溫柔小姐嬌嬌公主')+'<br />');	//顯示結果為null,不存在

②search():檢索字串中指定的子字串

		document.write('search():檢索字串中指定的子字串'+'<br />');
		var str2='i like 呦呦切克鬧,煎餅果子來一套';
//		返回在字串中索引位置在字元中首次出現的索引位置
		document.write(str2.search('呦呦')+'<br />');		  //返回結果為7
//		在字串中,檢索的子字串不存在,則返回-1
		document.write(str2.search('Like')+'<br />');		//返回結果為-1

③indexOf(): 返回某個指定字串值在字串中首次出現的索引位置

		document.write('indexOf(): 返回某個指定字串值在字串中首次出現的索引位置'+'<br />');
		var str3='嚕啦啦嚕啦啦嚕啦嚕啦類';
		document.write(str3.indexOf('嚕','0')+'<br />');		//返回結果為0
		document.write(str3.indexOf('嚕','5')+'<br />');		//返回結果為6
//		查詢不到時返回-1
		document.write(str2.indexOf('嚕','18')+'<br/>');		//返回結果為-1

④replace():用一些字串替換另一些字串

		document.write('replace():用一些字串替換另一些字串'+'<br />');
		var str4='你是誰的白衣少年';
//		document.write(str4.replace('誰','我')+'<br />');		//顯示結果:你是我的白衣少年
		var NewStr4=str4.replace('白衣','心愛');
		document.write(NewStr4+'<br />');					 //顯示結果:你是誰的心愛少年

⑤charAt(n):獲取字串中的某一個字元


	//用來獲取字串中某一個字元,n表示的是字串中字元的下標
		document.write('charAt(n):獲取字串中的某一個字元'+'<br />');
		var str5='陌上人如玉,公子世無雙';
		// alert(str5);
		document.write(str5.charAt(0));
		document.write(str5.charAt(1));
		document.write(str5.charAt(2));
		document.write(str5.charAt(3));
		document.write(str5.charAt(4));
		document.write(str5.charAt(5));
		document.write(str5.charAt(6));
		document.write(str5.charAt(7));
		document.write(str5.charAt(8));
		document.write(str5.charAt(9));
		document.write(str5.charAt(10));
		//顯示結果為:陌上人如玉,公子世無雙
		document.write('<br />');
	// 遍歷出所有字串(按字串的每一個字元輸出)
		for(var i=0;i<str5.length;i++){
			document.write(str5.charAt(i)); 	//顯示結果為:陌上人如玉,公子世無雙
		}

將一個字元放置到一個數組裡

		var str5='陌上人如玉,公子世無雙';		
		var strString=new Array();
		for(var i=0;i<str5.length;i++){
			strString[i]=str5.charAt(i);
		}
//		document.write(strString);				//顯示結果:陌,上,人,如,玉,,,公,子,世,無,雙
//		遍歷陣列
		for(i=0;i<strString.length;i++){
			document.write(strString[i]);		//顯示結果為:陌上人如玉,公子世無雙
		}

⑥toUpperCase() 大寫, toLowerCase()小寫 字串大小寫的轉換


	document.write('toUpperCase() 大寫, toLowerCase()小寫	字串大小寫的轉換'+'<br />');
	var str6='I have a pen,I have a apple,apple,pen';
//轉換為大寫
	document.write(str6.toUpperCase());		//顯示結果為:I HAVE A PEN,I HAVE A APPLE,APPLE,PEN
	document.write('<br />');
//轉換為小寫
	document.write(str6.toLowerCase());		//顯示結果為:i have a pen,i have a apple,apple,pen
	document.write('<br />');

⑦concat():連線字串

//		字串1.concat(字串2,字串3....);
		document.write('concat():連線字串'+'<br />');
		var str7='我有一頭小毛驢,';
		document.write(str7.concat('我從來也不騎,','有一天我心血來潮騎著去趕集'));
		document.write('<br />');
		var str8=str7.concat('我從來也不騎,有一天我心血來潮騎著去趕集');
		document.write(str8);
		document.write('<hr />');

⑧localCompare(): 用來比較兩個字串,返回一個數字

字串1.localeCompare(字串2);
(1)如果字串 1 小於字串 2,則返回小於 0 的數字;
(2)如果字串 1 大於字串 2,則返回數字 1;
(3)如果字串 1 等於字串 2,則返回數字 0;

⑨split():分割字串返回結果為一個數組: 分隔符為字串中的字元

	document.write('split():分割字串返回結果為一個數組:  分隔符為字串中的字元'+'<br />');
	var str9='我好 餓我好餓我好 餓餓餓餓餓';
	var str9_01=str9.split('好');
//	alert(str9_01);
	document.write(str9_01);	//顯示結果為:我, 餓我,餓我, 餓餓餓餓餓
//	alert(str9_01.length);		//返回結果:  4

⑩subString(): 擷取字串中某一部分字串

//	無關順序
	document.write('subString(): 擷取字串中某一部分字串'+'<br />');
	var str10='0123456789';
	document.write(str10.substring(2,5)+'<br />');				//擷取結果為:234
	document.write(str10.substring(0,str8.length)+'<br />');	//擷取全部
	document.write(str10.substring(12,6)+'<br />'); 			//擷取結果為:6789
	document.write(str10.substr(2,5));							//擷取結果為:23456

substring()和substr()之間的區別?

substring():第二個數值表示擷取到這一索引位置,但不包含此索引位置的成員

substr():第二個數值表示擷取的長度