卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 关于
首页 › 技术 › JavaScript类型相关常用操作

JavaScript类型相关常用操作

坚果大叔
2019-02-15 14:35:53技术阅读数 250
一、 JS数组,字符串,json互相转换
1.JS数组转字符串
使用数组自带的join方法可以把数组转化为字符串:
  let arr = [1,2,'uu'];
  let str = arr.join(',');
  console.log(str);  // 1,2,uu

如果素组元素包含对象,则调用对象的toString()方法将对象转化为字符串。
  class C {
      // 自定义类C,以及自定义toString()方法
      toString() { return 'class C'; }
  }
  let cc = new C(); // C的实例
  let arr = [{a: 1}, cc, [3,4,[5,5]], 5];
  let str = arr.join('---');
  console.log(str); // [object Object]---class C---3,4,5,5---5

从上面的例子中还可以发现,数组中嵌套数组时,所有元素依次打印出来,那是因为数组Array的toString()方法内部实现就是join.
    [1,1,[2,2,[3,3,3]]] + ""; // 1,1,2,2,3,3,3
2.字符串转数组
使用字符串自带的split方法可以把字符串分割为数组。
  let str = '1,2,uu';
  let arr = str.split(',');
  console.log(arr); // ["1", "2", "uu"]
  str 
3.数组转json字符串,json字符串转数组
使用JSON.parse()方法可以解析json字符串转化为相应的json对象(包括数组),使用JSON.stringify()方法可以把数组或对象转化为json字符串。

let arr = [1,2,'uu'];
let jsonStr = JSON.stringify(arr);
console.log(jsonStr); // 字符串:'[1,2,"uu"]'

let jsonObj = JSON.parse(jsonStr);
console.log(jsonObj); // 数组: [1,2,'uu']
二、 JS清空数组的方法
1.赋值空数组
let arr = [1,2,3];
console.log(arr); // [1,2,3]
arr = [];
console.log(arr); // []
2.修改length属性
JS数组的length熟悉可以直接修改。

let arr = [1,2,3];
console.log(arr); // [1,2,3]
arr.length = 0;
console.log(arr); // []
3.使用splice方法
JS中数组自带的splice()方法用于向数组中添加或者删除元素,功能非常强大。

参数说明如下,返回值为包含被删除项目的新数组,如果有的话。
arrayObject.splice(index,howmany,item1,.....,itemX)
参数名 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
let arr = [1,2,3];
console.log(arr);  // [1,2,3]
let arr2 = arr.splice(0, arr.length); // 删除所有元素
console.log(arr);  // []
console.log(arr2); // [1,2,3]
三、JS时间和时间戳的转换
1.JS时间转时间戳
使用Date对象的方法:

let dateObj = new Date();  // Date对象,当前时间
// parse()方法,毫秒级别的数值被转化为000
Date.parse(dateObj);  // 1549976497000

// Date对象的valueOf()方法
dateObj.valueOf(); // 1549976497495

// Date对象的getTime()方法
dateObj.getTime(); // 1549976497495

// 转化为Number类型,包括显式和隐式类型转换
new Number(dateObj); // Number {1549976497495}
dateObj - 0; // 1549976497495
2.JS时间戳转时间
Date()对象的构造函数不仅可以接受表示时间戳数字类型的参数,还可以接受时间字符串,但是对格式有要求。

let timeStr = '2019-02-02 12:12:12';
let dateObj = new Date(timeStr);
dateObj.getTime(); // 1549080732000

dateObj.toDateString(); // Sat Feb 02 2019
dateObj.toString();  // Sat Feb 02 2019 12:12:12 GMT+0800 (中国标准时间)
dateObj.toLocaleString(); // 2019/2/2 下午12:12:12

myDate.getYear();      //获取当前年份(2位)
myDate.getFullYear();  //获取完整的年份(4位,1970-????)
myDate.getMonth();     //获取当前月份(0-11,0代表1月)
myDate.getDate();      //获取当前日(1-31)
myDate.getDay();       //获取当前星期X(0-6,0代表星期天)
myDate.getTime();      //获取当前时间(从1970.1.1开始的毫秒数) 
myDate.getHours();     //获取当前小时数(0-23)
myDate.getMinutes();   //获取当前分钟数(0-59)
myDate.getSeconds();   //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString();    //获取当前日期
var mytime=myDate.toLocaleTimeString();    //获取当前时间
myDate.toLocaleString( );      //获取日期与时间----如果涉及到时分秒,直接使用即可。
数据类型
赞赏 赞(0)
本文系作者 @坚果大叔 原创发布在 卖坚果的怪叔叔。未经许可,禁止转载。
CSS实现 Tab hover 下划线跟随
上一篇
Javascript数组操作
下一篇
今日天气
摸鱼日历
摸鱼人日历
近期文章
  • 猫🐱
  • Input 空格问题
  • Sort函数小Tips😁😃❤️😒😭😩😳
  • 🌎🌎🌎🌎🌎🌎🌎🌎🌎🌎🌎🌎
  • element-ui中的Select选择器中remote-method方法带自定义参数
归档
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年5月
  • 2021年4月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年3月
  • 2018年2月
  • 2017年12月
  • 2017年11月
  • 2017年9月
Input 空格问题
2022-06-22 10:52:44
16 0 0
Sort函数小Tips😁😃❤️😒😭😩😳
2022-06-20 15:09:29
16 0 0
element-ui中的Select选择器中remote-method方法带自定义参数
2022-05-27 16:13:19
109 2 1
CSS之GAP属性
2022-05-25 19:28:05
90 2 2
  • 0
博主

一枚佛系前端开发,会一丢丢摄影,喜欢折腾,爱好美食。分享点前端技巧、笔记以及各种有趣的APP和资源教程♥♥

友链
Lieme
公众号
西豆 崔欣 执行上下文 卖坚果的怪叔叔 集赞助手
Copyright © 2017-2022 卖坚果的怪叔叔

苏ICP备18048410号-2
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 关于
# WordPress # # CSS #
坚果大叔
198
文章
47
评论
116
喜欢