JavaScript类型相关常用操作

简介: JavaScript类型相关常用操作

一、 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( );      //获取日期与时间----如果涉及到时分秒,直接使用即可。
相关文章
|
1月前
|
JavaScript 前端开发 开发者
如何在 JavaScript 中处理不同类型的错误?
【10月更文挑战第29天】通过对不同类型错误的准确识别和恰当处理,可以提高JavaScript程序的可靠性和稳定性,减少错误对程序运行的影响。
|
2月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
57 0
|
4月前
|
前端开发 JavaScript 搜索推荐
Next.js 适合什么类型的项目开发?
【8月更文挑战第4天】Next.js 适合什么类型的项目开发?
247 3
|
17天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
31 2
|
21天前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
31 4
|
1月前
|
JavaScript 前端开发 Java
除了 JavaScript,还有哪些编程语言支持 Set 类型
【10月更文挑战第30天】这些编程语言中的 `Set` 类型虽然在语法和具体实现细节上有所不同,但都提供了类似的集合操作功能,方便开发者在不同的编程场景中处理集合相关的数据和逻辑。
|
1月前
|
存储 JavaScript 前端开发
js的基础类型和引用类型
【10月更文挑战第29天】理解 JavaScript 中的基础类型和引用类型的区别对于正确地编写代码和理解程序的行为非常重要。在实际开发中,需要根据具体的需求合理地选择和使用不同的数据类型,以避免出现一些意想不到的错误和问题。同时,在处理引用类型数据时,要特别注意对象的引用关系,避免因共享引用而导致的数据不一致等问题。
|
6月前
|
JavaScript 前端开发
JavaScript中的布尔类型与数字类型详解
JavaScript中的布尔类型与数字类型详解
|
2月前
|
JavaScript 前端开发
JavaScript返回判断类型有哪些?
JavaScript返回判断类型有哪些?
33 0
|
4月前
|
JavaScript 算法 前端开发
JS算法必备之String常用操作方法
这篇文章详细介绍了JavaScript中字符串的基本操作,包括创建字符串、访问特定字符、字符串的拼接、位置查找、大小写转换、模式匹配、以及字符串的迭代和格式化等方法。
JS算法必备之String常用操作方法