JavaScript类型相关的常用操作总结


Posted in Javascript onFebruary 14, 2019

js的基本数据类型有哪些?

ECMAScript中有5中简单数据类型(也称为基本数据类型): Undefined、Null、Boolean、Number和String。还有1中复杂的数据类型————Object,Object本质上是由一组无序的名值对组成的。

其中Undefined、Null、Boolean、Number都属于基本类型。Object、Array和Function则属于引用类型,String有些特殊

本文主要给大家介绍了关于js类型相关的常用操作,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

JS数组,字符串,json互相转换

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

字符串转数组

使用字符串自带的split方法可以把字符串分割为数组。

let str = '1,2,uu';
let arr = str.split(',');
console.log(arr); // ["1", "2", "uu"]
str

数组转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清空数组的方法

赋值空数组

let arr = [1,2,3];
console.log(arr); // [1,2,3]
arr = [];
console.log(arr); // []

修改length属性

JS数组的length熟悉可以直接修改。

let arr = [1,2,3];
console.log(arr); // [1,2,3]
arr.length = 0;
console.log(arr); // []

使用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时间和时间戳的转换

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

JS时间戳转时间

直接将时间戳作为参数新建一个Date对象即可,支持毫秒和秒。

let timestamp = 1549976497495;
let dateObj = new Date(timestamp); // Date对象
dateObj.getTime(); // 1549976497495

timestamp = 1549976497;
dateObj = new Date(timestamp); // Date对象
dateObj.getTime(); // 1549976497

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
如何让动态插入的javascript脚本代码跑起来。
Jan 09 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
Jul 10 Javascript
javascript验证上传文件的类型限制必须为某些格式
Nov 14 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
JavaScript中的函数(二)
Dec 23 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
May 20 Javascript
JS实现简单的tab切换选项卡效果
Sep 21 Javascript
JavaScript prototype属性详解
Oct 25 Javascript
js实现导航栏中英文切换效果
Jan 16 Javascript
JavaScript实现类似淘宝的购物车效果
Mar 16 Javascript
javascript定时器取消定时器及优化方法
Jul 08 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 Javascript
VuePress 快速踩坑小结
Feb 14 #Javascript
使用vuepress搭建静态博客的示例代码
Feb 14 #Javascript
Node.js如何对SQLite的async/await封装详解
Feb 14 #Javascript
VuePress 静态网站生成方法步骤
Feb 14 #Javascript
extract-text-webpack-plugin用法详解
Feb 14 #Javascript
JavaScript"模拟事件"的注意要点详解
Feb 13 #Javascript
快速了解Node中的Stream流是什么
Feb 13 #Javascript
You might like
PHP系统命令函数使用分析
2013/07/05 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
PHP中phar包的使用教程
2017/06/14 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
对python:print打印时加u的含义详解
2018/12/15 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
python argparser的具体使用
2019/11/10 Python
python实现翻译word表格小程序
2020/02/27 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
质检的岗位职责
2013/11/17 职场文书
入学申请自荐信范文
2014/02/26 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
展览会邀请函
2015/02/02 职场文书
资料员岗位职责
2015/02/10 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
立案决定书范文
2015/06/24 职场文书
保姆聘用合同
2015/09/21 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
JavaScript实现栈结构详细过程
2021/12/06 Javascript