0-求數組最大值
<script> var arr=new Array(); arr[0]=22; arr[1]=555555; arr[2]=99999999; function GetMax(arr){ var max=arr[0]; for(var i=0;i<=arr.length-1;i++){ if(arr[i]>max){ max=arr[i]; } } alert(max); } GetMax(arr); </script>
1-將字符串數組元素反轉 //arr.reverse();
<script>//①直接反轉 var arr=new Array(); arr[0]=0; arr[1]=1; arr[2]=2; for(var i=0;i<=arr.length-1;i++){ alert(arr[arr.length-1-i]); } </script> <script>//②兩兩對換,減少一半循環 var arr=new Array(); arr[0]='A'; arr[1]='B'; arr[2]='C'; function Reverse(arr){ for(var i = 0;i<arr.length/2;i++){ var temp = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-i-1] = temp; } return arr; } alert(Reverse(arr)); </script>
2-將字符串數組輸出為以“|”分割的形式 //arr.join("|");
<script> var arr=new Array(); arr[0]='1'; arr[1]='2'; arr[2]='3'; function Join(arr){ var s=arr[0]; for(var i=1;i<=arr.length-1;i++){ s+="|"+arr[i]; } return s; } alert(Join(arr)); </script>
3-把[1, 3, 5, 7, 9]變換成整數13579 //arr.reduce(function(x,y){return 10*x+y;});
<script> var arr = [1, 2, 3, 4]; var plus = function(arr){ for(var i=0;i<arr.length-1;i++){ arr[i+1]+=arr[i]*10; } return arr[arr.length-1]; } alert(plus(arr)); </script>
4-把一個字符串“13579”先變成Array———[1, 3, 5, 7, 9],再將數組變換成整數13579。 //parseInt();
<script> var str = "13579"; function string2int(s) { return s.split('').map(function(x){ //用split()方法把一個 字符串 分割成 字符串數組。 return x.charCodeAt(0) - '0'.charCodeAt(0);}).reduce(function(x, y){ //charCodeAt()方法返回 指定位置 的字符的 Unicode 編碼 return x*10+y; }); } alert(string2int(str)); </script>
***字符串方法 Method 描述:
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 連接兩個或多個字符串,返回連接后的字符串
fromCharCode() 將字符轉換為 Unicode 值
indexOf() 返回字符串中檢索指定字符第一次出現的位置
lastIndexOf() 返回字符串中檢索指定字符最后一次出現的位置
localeCompare() 用本地特定的順序來比較兩個字符串
match() 找到一個或多個正則表達式的匹配
replace() 替換與正則表達式匹配的子串
search() 檢索與正則表達式相匹配的值
slice() 提取字符串的片斷,並在新的字符串中返回被提取的部分
split() 把字符串分割為子字符串數組
substr() 從起始索引號提取字符串中指定數目的字符
substring() 提取字符串中兩個指定的索引號之間的字符
toLocaleLowerCase() 根據主機的語言環境把字符串轉換為小寫,只有幾種語言(如土耳其語)具有地方特有的大小寫映射
toLocaleUpperCase() 根據主機的語言環境把字符串轉換為大寫,只有幾種語言(如土耳其語)具有地方特有的大小寫映射
toLowerCase() 把字符串轉換為小寫
toString() 返回字符串對象值
toUpperCase() 把字符串轉換為大寫
trim() 移除字符串首尾空白
valueOf() 返回某個字符串對象的原始值
5-規范化數組,輸入:['adam', 'LISA', 'barT'],輸出:['Adam', 'Lisa', 'Bart']
<script> var arr = ['adam', 'LISA', 'barT']; alert(arr.map(function(str){ return str[0].toUpperCase()+str.slice(1).toLowerCase(); })); </script>
6-找出連續n個合數(僅由存在性算法導出,結果非最優)
<script> function creat(n){ var arr1 = []; var arr2 = []; for(var i = 1;i<=n+1;i++){ arr1.push(i); } var k = arr1.reduce(function(x,y){ //k = 1*2*3*...*n*(n+1) = (n+1)! return x*y; }); for(var i = 2;i<=n+1;i++){ arr2.push(k+i); //連續n個合數(k+2),(k+3),(k+4),...,(k+n+1) } return arr2; } var arr = creat(10); alert(arr); </script>
7-編寫一個產生斐波那契數列的函數 //0 1 1 2 3 5 8 13 21 34 ...
<script> function fib(max) { var t,a = 0,b = 1,arr = [0, 1]; while (arr.length < max) { t = a + b; a = b; b = t; arr.push(t); } return arr; } alert(fib(10)); // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] </script>