欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-10-17 11:38:30
js的基本数据类型有哪些? ecmascript中有5中简单数据类型(也称为基本数据类型): undefined、null、boolean、number和string...

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

总结

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