js的内置对象:array和date

284 阅读4分钟

一:# 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+'秒');