JS数组的运用、如何创建时间与获取dom元素

js里面的数据类型

简单数据类型(值类型): string number boolean undefined null
复杂数据类型(引用类型) : 数组(array), 对象(Math, Date)

数组的三要素 :

下标 : 记录每个元素在数组中的位置
元素 : 数组中存储的值
数组长度 : 记录数组中的元素个数

数组的声明方式 :

var 数组名 = [元素1, 元素2, …];(最常用)
var 数组名 = new Array(元素1, 元素2, …);

var arr=[10,20,30];
var newarr=new Array(10,20,30);

两种创建方式的区别 : 只有一个值时
var arr = [10]; 数组长度为1, 数组元素为10
var arr1 = new Array(10); 数组长度为10, 数组元素都为空

数组长度 :

  1. 获取数组长度 数组名.length 获取到的是一个number类型的数
  2. 修改数组的长度, 会改变数组里面元素的数量 数组名.length = 值; 这就相当于只保留对应数量的元素
  3. 删除数组最后一个值 : 数组名.length–, 数组长度减1, 相当于删除最后一个元素

数组的取值 : 数组名[下标] 取值从下标0开始
1. 取数组最后一个元素 : 数组名[数组名.length - 1];
2. 如果下标在最大下标范围内, 获取数组元素
3. 如果超过了最大下标, 获取到的元素是undefined

数组的赋值 : 数组名[下标] = 值;
如果下标在最大下标范围内 : 就是修改数组元素的值
如果下标超过最大下标 : 那么就是给数组增加值,
如果要给数组最后加一个值 : 数组名[数组名.length] = 值

数组的遍历 : 获取数组中的每一个元素, 就是数组遍历
如果要获取数组中的每一个元素, 要怎么来实现 : 循环 一般是使用for循环
数组遍历的固定写法 :
for(var i = 0; i< 数组名.length; i++) {
使用数组名[i]获取元素
}
注意 :

  1. 循环变量从0开始取值 因为数组的下标从0开始
  2. 判断条件 不能写死具体的数, 要是用数组长度来约束

数组的API :

一 添加

  1. push()方法 : 将一个或多个元素添加到数组的末尾
    参数 : 可以是一个, 可以是多个, 表示向数组里面添加元素 参数可以不填, 但是一般默认, 第一个参数必填
    返回值 : 将指定的值添加到数组后的新数组长度
    特点 : 直接改变原数组
var arr = [10, 20, 30];
var res = arr.push(50, 60);
        console.log(res);
        console.log(arr);
  1. unshift() : 将一个或多个元素添加到数组的开头
    参数 : 可以是一个, 可以是多个, 表示向数组里面添加元素 参数可以不填, 但是一般默认, 第一个参数必填
    返回值 : 将指定的值添加到数组后的新数组长度
    特点 : 直接改变原数组
arr.unshift(50, 60);
 console.log(arr);

二 删除

1 pop() : 删除数组中的最后一个元素
参数 : 没有参数, 因为指定的删除最后一个
返回值 : 返回删除的那个元素的值
特点 : 改变了原数组

   console.log(arr.pop());
   console.log(arr);

2 shift() : 删除数组中的第一个元素
参数 : 没有参数, 因为指定的删除第一个
返回值 : 返回删除的那个元素的值
特点 : 改变了原数组

console.log(arr.shift());
console.log(arr);

三 多个数组拼接成一个数组

concat() : 用于合并两个或多个数组
参数 : 可以是单个或多个元素, 也可以是一个或多个数组, 也可以混合使用
返回值 : 返回拼接后的数组
特点 : 不改变原数组
注意点 : 虽然传递的参数是数组, 但是操作的是数组里面的元素

var arr1 = [90, 80, 70];
       console.log( arr.concat(arr1));
       console.log(arr.concat(80, 90, arr1));
       console.log(arr);

四 截取

  1. slice(参数1, 参数2) 截取数组 从参数1开始截, 截到参数2, 但是不包括参数2
    参数 : 两个参数 参数1 : 截取的起始下标 参数2 : 截取的结束下标(不包括在内)
    返回值 : 返回的是截取到的元素组成的数组
    特点 : 不改变原数组
    注意 : 如果给了两个参数, 而且都是整数 常规用法
    如果只给了一个参数, 那么这个参数就是开始截取得起始下标
    如果参数是负数, (通俗的说, 就是倒着数) 截取下标为 arr.length + 负参数
    如果不给参数 就是截取全部, 相当于赋值这个数组
 console.log(arr.slice(1, 2));
  console.log(arr);
  1. splice() 修改, 添加, 删除一个数组中的某各项
    参数 : 参数1 截取的起始下标
    参数2 截取的元素个数
    参数3到参数n : 表示替换或者添加的元素
    返回值 : 截取的元素组成的新数组
    特点 : 直接修改原数组
    注意点 :
    如果没有参数 返回值是空, 原数组不变
    如果只有一个参数 这个参数表示截取的数组起始下标 它的用法和slice只有一个参数的效果是一样的, 返回值一样, 但是原数组发生了变化
    如果只有两个参数 第一个参数是截取的数组起始下标 参数2 截取个数 这个是删除数组元素
    如果有三个及以上参数 如果第二个参数值为0, 那么就表示添加新元素, 如果不为0, 表示删除对应个数的元素, 将新元素替换上去
console.log(arr.splice(1, 2)); // [20, 30]
 console.log(arr);

五 数组的位置方法

indexOf(参数1, 参数2);
参数 : 参数1 : 是需要查找的数组元素
参数2 : 查找数组的起始下标(索引)
返回值 : 查找到了对应元素, 返回查找到的第一个元素所对应的下标
如果没有查找到 返回-1
语法解析 : 该方法是从头到尾检索数组元素, 看看是否是否能查找到对应元素, 如果查找到了, 返回找到的第一个元素对应的下标(是在没有定义第二个参数的情况下),
如果有第二个参数, 就从参数2对应的位置开始检索元素, 返回找到的第一个元素对应的下标
如果没有找到 返回-1

console.log(arr.indexOf(30)); 
 console.log(arr.indexOf(30, 3));

六 把数组转换成字符串

join() 该方法是使用指定的符号把各个数组元素连接成字符串
参数 : 指定的符号, 用来连接数组各元素, 默认是逗号
返回值 : 拼接后的字符串,
特点 : 不改变原数组
toString() 作用和不传参数时的join一样 默认使用逗号隔开

console.log(arr.join());

改变原数组的方法 :

push()
pop()
unshift()
shift()
splice()
reverse()
sort()

不改变原数组的方法 :

concat() : 
slice() : 
indexOf() : 
join()

创建日期对象 :

var 变量名 = new Date(“日期字符串”);
如果创建日期对象的时候, 不传参数 得到的是北京时间

  // 创建日期的方法 : 
    // 1. 参数为日期字符串
var date = new Date("日期字符串");

    // 2. 可以传入七个参数  分别是 年月日 时分秒 毫秒  参数至少要传2个
 var date = new Date(2018, 12);
console.log(date);

    // 3, date对象中 创建时只传入一个参数   这个参数表示的是 毫秒数
var date = new Date(2018);  // Thu Jan 01 1970 08:00:02 GMT+0800 (中国标准时间)
console.log(date);

日期字符串 :
ISO : (国际标准) “2020-01-24” 日期和具体的时分秒之间用T隔开 “2020-01-24T12:00:00Z”,
短日期 : “01/19/2020” “2020/01/24” 也可以接具体的时分秒 中间使用空格隔开 注意 : 不要把日期写在最前面
长日期 : “Wed Jan 24 2020” 这种格式顺序可以随便写 也可以加时分秒 加空格隔开
完整日期 : 就是各月份 星期的英文全拼

时间戳 : 指的是1970年1月1日00:00:00 到某个指定的时间点的秒数
js里面运算数据 : 是1970年1月1日00:00:00 到某个指定的时间点的毫秒数

获取时间

getFullYear() 获取年份 返回的是一个四位数的年份

 console.log(date.getFullYear());

getMonth() 获取月份 注意 : js里面使用0-11表示1到12月份 所以我们获取到的月份加1

 console.log(date.getMonth());

getDate() 获取当前日期 注意 1到31表示日期

  console.log(date.getDate());

getDay() 获取当前日期的星期数 注意 : 使用0-6表示周日到周六 在国外 周日是第一天

 console.log(date.getDay());

getHours() 获取当前的小时数

 console.log(date.getHours());

getMinutes() 获取当前的分钟数

console.log(date.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值