数组对象
创建数组的两种方式
1.字面量创建
var arr = [];
2.利用new Array()
var arr1 = new Array();
var arr1 = new Array(2); //2表示数组长度,里面有两个空元素
var arr1 = new Array(2, 3); //表示创建数组包含两个元素为2和3
检测是否是数组
1.instanceof 运算符
2.Array.isArray(参数)
添加删除数组元素的方法
1.push() 末尾添加一个或多个元素,参数直接写要添加的数组元素,注意修改原数组,返回结果是新的长度
2.pop() 删除数组的最后一个元素,把数组的长度减一,无参数,返回删除的元素的值
3.unshift() 向数组的开头添加一个或多个元素,注意修改原数组,返回新的长度
4.shift() 删除数组的第一个元素,数组长度减一,无参数,返回第一个元素的值
var arr = [1, 2, 3]
arr.push(4); //添加一个数组元素4
console.log(arr);
console.log(arr.push(4))
arr.pop(); //把添加的数组元素4删除
console.log(arr);
console.log(arr.pop()); //返回删除的元素的值
arr.unshift(5); //在数组的开头添加数组元素5
console.log(arr);
arr.shift(); //把上面在开头添加的数组元素5删除
console.log(arr);
console.log(arr.shift()); //注意返回的是第一个元素的值,而不是删除的元素的值
反转数组
reverse() 方法
数组排序
sort() 方法 如果直接使用sort()方法,只能对小于10的数进行排序(这个方法会将元素转换为字符串然后根据Unicode编码进行排序的),
而想要解除这个限制,需要做下面的操作
sort(function(a, b){ //这个函数可以使数组按升序排序,换成b - a会变成降序排序
return a - b;
})
获取数组元素索引号方法
indexof() 作用就是返回查找到的第一个元素的索引号,找不到元素时返回-1
lastindexof() 则相反,从后面开始查找
var arr = [];
function unique(arr) {
var newArray = new Array();
for(var i = 0; i< arr.length; i++){
if(newArray.indexOf(arr[i]) == -1){ //去除重复,在新数组找不到相同的元素则把元素加入
newArray.push(arr[i]);
}
}
return newArray;
}
var arr1 = [1, 2, 1, 3, 55, 4, 88, 5, 4, 9];
var arr2 = unique(arr1);
console.log(arr2);
var arr3 = arr2.sort(function(a, b){ //排序
return a - b;
});
console.log(arr3);
数组转换为字符串
1.toString()方法
2.join('分隔符') 默认是 ‘,’
var arr = [1, 2, 3];
console.log(arr.toString()); //1,2,3
console.log(arr.join('-')); //1-2-3
日期对象:
日期格式化
Date() 日期对象是一个构造函数,必须使用new来调用 创建日期对象
使用Date没有参数会返回当前的系统时间
参数的常用写法 数字型 2000, 01, 01 字符串型 '2000-01-01 08:08:08'
getHours() getMinites() getSeconds() 这三个方法获取时、分、秒
var date1 = new Date('2000-01-01 08:08:08');
console.log(date1);
var date2 = new Date(2000, 01, 01, 08, 08, 08); //返回的月份大一个月
console.log(date2);
//获取当前时间
function currentTime() {
var time = new Date();
var h = time.getHours();
h = h < 10? '0' + h: h;
var m = time.getMinutes();
m = m < 10? '0' + m: m;
var s = time.getSeconds();
s = s < 10? '0' + s: s;
return h + ':' + m + ':' + s;
}
console.log(currentTime());
//获得Date总的毫秒数(时间戳) 距离1970年1月1日过了多少毫秒
//通过 valueof() getTime()
var date = new Date();
console.log(date.getTime());
console.log(date.valueOf());
//简单的写法(最常用)
var date1 = +new Date();
console.log(date1);
//H5新增的
console.log(Date.now());