JavaScript
Java 數組的遍歷
1.遍歷
for(var i=0 ; i<arrr.length ; i++)
//代碼塊
for(var i in arr)
//代碼塊
forEach ECMAScript5.0新特性
不支持break/continue
在低版本IE中無法使用
2.常用方法
JOIN
var arr = ["afsd", 23, 6.0, -2];
var str = arr.join("+");
// str = "afsd+23+6.0+-2";
SPLIT
var arr2 = str.split("+");//分割字符串,返回數組類型
REVERSE
var arr3 = arr2.reverse();
//對數組本身有影響,arr2 與 arr3一樣
SORT
//通過一個函數作爲參數來調用
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});
CONCAT
// 連接兩個或更多的數組,並返回結果
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];
var children = hege.concat(stale,kai);
SLICE
從已有的數組中返回選定的元素,不影響原數組
slice(start, end);
在數組中讀取元素
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);
// Orange,Lemon
使用負值從數組中讀取元素
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var myBest = fruits.slice(-3,-1);
// Lemon,Apple
SPLICE
用於插入、刪除或替換數組的元素。
splice(index, howmany, (item1, ..., itemX))
從哪裏刪,刪多少,添加什麼
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,2);
// Banana,Orange
PUSH
可向數組的末尾添加一個或多個元素,並返回新的長度
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi")
fruits 結果輸出:
Banana,Orange,Apple,Mango,Kiwi
POP
用於刪除數組的最後一個元素並返回刪除的元素
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();
fruits 結果輸出:
Banana,Orange,Apple
MAP
返回一個新數組,數組中的元素爲原始數組元素調用函數處理後的值,不會改變原數組
類似Python裏面的MAP函數
var numbers = [4, 9, 16, 25];
function myFunction() {
x = document.getElementById("demo")
x.innerHTML = numbers.map(Math.sqrt);
}
輸出結果爲:
2,3,4,5
REDUCE
接收一個函數作爲累加器,數組中的每個值(從左到右)開始縮減,最終計算爲一個值
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
輸出結果:
125
SOME
用於檢測數組中的元素是否滿足指定條件(函數提供)
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.some(checkAdult);
}
輸出結果爲:
true
INDEXOF
返回某個指定的字符串值在字符串中首次出現的位置
如果沒與搜索到則返回 -1
查找數組中的 "Apple" 元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
a 結果輸出:
2
3.數組排序
冒泡排序
var arr = [2,5,0,-1,6]; for(var i=0;i<arr.length;i++) for(var j=i;j<arr.length;j++) if(arr[j] > arr[i]) { var tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; } for(var i=0;i<arr.length;i++) for(var j=i+1;j<arr.length;j++) if(arr[j] < max) { var tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; }
常用的類
1.String
charAt(3):獲取下標爲3的字符
charCodeAt(3):獲取下標爲3的字符的ASCII碼,返回指定位置的字符的Unicode編碼,返回值在0~65535之間
fromCharCode(94):將ASCII碼轉換成字符
查找字串
indexOf():
lastIndexOf():
替換
replace():
截取字串
subString(3):表示從下標爲3的位置開始截取。不影響原字符串
大小寫轉換
toLowerCase():
toUpperCase();
字符串大小比較
localCompare():如果字符串在字母表中應該排在字符串參數
之前 -1 等於 0 之後 1
字符串分割
split():
2.Math
round():
random():
max(x,y,z):
min(x,y,z):
sqrt(x):
floor(x):
ceil(x):
pow(x, y):
3.Date
getFullYear()
使用 getFullYear() 獲取年份。
getTime()
getTime() 返回從 1970 年 1 月 1 日至今的毫秒數。
setFullYear()
如何使用 setFullYear() 設置具體的日期。
toUTCString()
如何使用 toUTCString() 將當日的日期(根據 UTC)轉換爲字符串。
getDay()
如何使用 getDay() 和數組來顯示星期,而不僅僅是數字。
Display a clock
如何在網頁上顯示一個鐘錶。
Date.parse("2017-06-29")
返回是該日期距離世界時間的毫秒值
getDay()
getHours()
getMinutes()
toLocaleTime()