let arr1 = ["周一", "周二", "周三"];
let arr2 = new Array("2019年", "2020年", "2021年");
Array 具有 length 属性,即可获取也可设置。
// 获取数据长度
var arrayLength = arr.length;
// 设置数组长度(超出数组长度的元素将被抛弃)
arr.length = 2;
pop(); // 取出并删除数组最后一个元素
push(element); // 在数组末尾追加元素
shifit(); // 取出并删除数组第一个元素
unshift(element); // 在数组开头添加元素
indexOf(element); // 查找元素的第一个位置
lastIndexOf(element); // 查找元素的最后一个位置
splice(start, length, [e1, ...]); // 从start位置开始删除length个元素,并插入后面的参数元素(相当于替换)
var arr1 = [2, 4, 6];
arr1.splice(1, 2, 1, 3, 5);
console.log(arr1); // 输出 '[2, 1, 3, 5]'
join(char); // 数组元素以字符相连接,并返回字符串
sort([fn]); // 默认把元素看做字符串自然排序,也可传入函数自定义排序
var arr2 = [3, 5, 2, 9];
arr2.sort(function(n1, n2) {
return n1 - n2; // 前者大于后者,升序排列
});
console.log(arr2); // 输出 '[2, 3, 5, 9]'
遍历
var arr = ['冰箱', '电视', '手机'];
// 第1种遍历
for (var i=0; i<arr.length; i++) {
console.log(i, arr[i]);
}
// 第2种遍历
arr.forEach(function(item, index, array){
console.log(index, item);
})
一个函数应该只返回一种类型的值。
函数中有一个默认的数组变量arguments,存储着传入函数的所有参数。为了使用函数参数方便,建议给参数起个名字。
function fun1(obj, name, value){
console.log(arguments);
console.log(obj);
console.log(name);
console.log(value);
}
fun1({'id':12}, 'username', '张三');
var date1 = new Date();
var date2 = new Date(timestamp); // timestamp 毫秒单位的时间戳
var date3 = new Date(year, month-1, dayOfMonth, hour, minute, second);
getFullYear(); //获取年份 getMonth(); //获取月份,月份从0开始,即0表示1月,1表示2月,以此类推 getDate(); //获取当前月份的第几日 getHours(); //时 getMinutes(); //分 getSeconds(); //秒 getTime(); // 毫米级时间戳
/**
* 扩展Date对象的功能
* @param format
* @returns
* @example (new Date()).format('yyyy-MM-dd hh:mm:ss') 结果是 2018-08-13 08:42:34 这样的格式 ;
*/
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, // month
"d+": this.getDate(), // day
"h+": this.getHours(), // hour
"m+": this.getMinutes(), // minute
"s+": this.getSeconds(), // second
"q+": Math.floor((this.getMonth() + 3) / 3), // quarter
"S": this.getMilliseconds()
// millisecond
}
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
}
/**
* 扩展Date对象的功能
* 获取上一个月日期对象
* @param date
* @returns {Date}
*/
Date.prototype.getPreMonth = function() {
var year = this.getFullYear();
var month = this.getMonth()+1;
var day = this.getDate();
var hour = this.getHours();
var minute = this.getMinutes();
var second = this.getSeconds();
var y = year;
var m = parseInt(month) - 1;
if (m == 0) { // 如果是一月
y = parseInt(y) - 1;
m = 12;
}
var monthDays = new Date(y, m, 0).getDate(); //获取 m 月的天数
var d = day;
if (d > monthDays) {
d = monthDays;
}
return new Date(y, m-1, d, hour, minute, second);
}
/**
* 扩展Date对象的功能
* 获取下一个月的日期
* @param date
* @returns {Date}
*/
Date.prototype.getNextMonth = function(){
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
var y = year;
var m = parseInt(month) + 1;
if (m == 13) {
y = parseInt(y) + 1;
m = 1;
}
var d = day;
var monthDays = new Date(y, m, 0).getDate(); // 获取 m 月的天数
if (d > monthDays) {
d = monthDays;
}
return new Date(y, m-1, d, hour, minute, second);
}