一、 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( ); //获取日期与时间----如果涉及到时分秒,直接使用即可。