一:# Array 对象****:
提供一个数组的模型、存储大量有序的数据
var array=new Array(); 定义空数组
var array=new Array(3);定义指定数组长度的数组
var array=new Array(1,2,3,"hello");创建数组时指定数组元素
var array=[1,3,"hello"];.直接定义数组
var array=new Array(1,2,3);数组元素的输出:
document.write(array); //可以输出一个整个数组,数组作为对象
1:length属性,设置或返回数组中元素的数目
let arr = [1,2,3,4,5]
console.log(arr.length);
返回值是:5
2:join( ) 把数组的所有元素放入一个字符串,通过一个分隔符进行分隔
let newstr = arr.join();
join()里面没有传任何参数 默认以逗号连接
join('') 数字中间没有任何字符拼接
let newstr = arr.join('+');
里面的元素+分隔,元素1+元素2+元素3
3: sort() 对数组排序
let arr = ['2', '3', '1', '5', '0'];
let newarr = arr.sort(); */
/* sort方法 会把老数组和新产生的数组都进行排序 */
console.log(arr, newarr);
/*sort()对应多位数排序 会出现问题 */
let arr = [2,22,3,32,1,12,100];
/* sort 给我们提供的解决方法 */
arr.sort(function(a,b){
/* 从小到大的顺序 */
/* return a-b; */
/* 从大到小的顺序 */
return b-a;
})
console.log(arr);
4:push() 向数组末尾添加一个或更多元素,并返回新的长度
在外面定义的叫全局变量 */
let stu = ['小张','小王','小李'];
console.log(stu); */
/* 方法里面的叫局部区域 */
function fn(){
/* 因为stu 是全局的 所以在方法里面 可以获取到 */
/* 数组可以添加重复的数据 */
/* push也可以添加多个数据 */
let a = stu.push('丽丽','倩倩','雯雯')
console.log(a);
console.log(stu);
5:concat() 合并两个数组
对原来的两个数组 没有任何改变,会生成一个拼接好的新数组
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arr3 = [7,8,9]
/* 拼接多个数组 */
let newarr = arr1.concat(arr2).concat(arr3);
/* console.log('arr1',arr1);
console.log('arr2',arr2); */
console.log('newarr',newarr);
/* es6合并数组 要是用扩展运算符 ... */
/* 等同于 [1,2,3] 把arr1的括号去掉,
把里面的内容拿出来了 */
let newarr = [...arr1];
let newarr = [...arr1,...arr2,...arr3];
console.log(newarr);
案列:
写一个数组 里面有姓名 年纪 性别 展示在页面上
再写三个按钮 点击 可以实现
数组的末尾添加一个信息 删除年纪 修改性别 点击完成之后
数组的最终结果使用alert打印出来 */
<button onclick="fn('add')">添加</button>
<button onclick="fn('del')">删除</button>
<button onclick="fn('update')">修改</button>
// let arr = ['张三',20,'男'];
// document.write(arr);
// function fn(str){
// if(str=='add'){
// arr.splice(arr.length,0,'奔驰')
// alert(arr)
// }
// if(str=='del'){
// arr.splice(1,1)
// alert(arr)
// }
// if(str=='update'){
// arr.splice(1,1,'女')
// alert(arr)
// }
6:数组.indexOf('实际的值') 如果找到了就返回 值在数组中的下标,如果找不到就返回-1
let index = arr.indexOf('李四');
/* alert(index) */
if (index == -1) {
alert('人没找到')
}
if (index != -1) {
alert('人找到了')
}
7: shift 删除数组的最前面的一个元素
arr.shift();
console.log(arr);
8:pop 删除数组的最后一个元素*
9:unshift 在数组的最前面添加一个数组
案列:写一个数组 写 4个 按钮可以 对数组的 前后 进行 添加和删除 把结果 alert出去
<button onclick="fn('unshift')">向前添加</button>
<button onclick="fn('push')">向后添加</button>
<button onclick="fn('shift')">删除前面</button>
<button onclick="fn('pop')">删除后面</button>
<script>
/* let arr = ['张三','李四']
document.write(arr);
function fn(str){
if(str=='unshift'){
arr.unshift('小丽')
alert(arr)
}
if(str=='push'){
arr.push('王五')
alert(arr)
}
if(str=='shift'){
arr.shift()
alert(arr)
}
if(str=='pop'){
arr.pop()
alert(arr)
}
}
二: Date 对象用于处理日期和时间
1: getFullYear 返回当前日期的年
2:getDay 方法所返回的值是一个处于 0 到 6 之间的整数,星期天是0;
3:getMonth 方法返回的值是一个处于0-11月,所以返回的月份小1个月。必须在月份后面加一
4:getMinutes 对象的分钟数,其值介于0~59之间60分就是0
5:getSeconds 对象的秒数,其值介于0~59之间 60秒就是0
6:getHours 对象的小时数,其值介于0~23之间 24点就是0点
getDay 方法所返回的值是一个处于 0 到 6 之间的整数,它代表了一周中的某一天,0返回的是星期日,所以获取星期,根据数组索引找对应的周几,周日必须写在前面 */
getMonth 方法返回的值是一个处于0-11月,所以返回的月份小1个月。必须在月份后面加一
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六',]
console.log('今天是:' + year + '年' + month + '月' + dates + '日' + arr[3]);
/* 获取时分秒 */
var date = new Date ();
var hours = date.getHours();
var mintues = date.getMinutes();
var seconds = date.getSeconds();
console.log('今天是:'+hours+'时'+mintues+'秒'+seconds+'秒');