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()