您好,登錄后才能下訂單哦!
JavaScript數(shù)據(jù)類型有哪些?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
js的基本數(shù)據(jù)類型有哪些?
ECMAScript中有5中簡單數(shù)據(jù)類型(也稱為基本數(shù)據(jù)類型): Undefined、Null、Boolean、Number和String。還有1中復雜的數(shù)據(jù)類型————Object,Object本質上是由一組無序的名值對組成的。
其中Undefined、Null、Boolean、Number都屬于基本類型。Object、Array和Function則屬于引用類型,String有些特殊
JS數(shù)組,字符串,json互相轉換
JS數(shù)組轉字符串
使用數(shù)組自帶的join方法可以把數(shù)組轉化為字符串:
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
從上面的例子中還可以發(fā)現(xiàn),數(shù)組中嵌套數(shù)組時,所有元素依次打印出來,那是因為數(shù)組Array的toString()方法內部實現(xiàn)就是join.
[1,1,[2,2,[3,3,3]]] + ""; // 1,1,2,2,3,3,3
字符串轉數(shù)組
使用字符串自帶的split方法可以把字符串分割為數(shù)組。
let str = '1,2,uu'; let arr = str.split(','); console.log(arr); // ["1", "2", "uu"] str
數(shù)組轉json字符串,json字符串轉數(shù)組
使用JSON.parse()方法可以解析json字符串轉化為相應的json對象(包括數(shù)組),使用JSON.stringify()方法可以把數(shù)組或對象轉化為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); // 數(shù)組: [1,2,'uu']
JS清空數(shù)組的方法
賦值空數(shù)組
let arr = [1,2,3]; console.log(arr); // [1,2,3] arr = []; console.log(arr); // []
修改length屬性
JS數(shù)組的length熟悉可以直接修改。
let arr = [1,2,3]; console.log(arr); // [1,2,3] arr.length = 0; console.log(arr); // []
使用splice方法
JS中數(shù)組自帶的splice()方法用于向數(shù)組中添加或者刪除元素,功能非常強大。
參數(shù)說明如下,返回值為包含被刪除項目的新數(shù)組,如果有的話。
arrayObject.splice(index,howmany,item1,.....,itemX)
參數(shù)名 | 描述 |
---|---|
index | 必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結尾處規(guī)定位置。 |
howmany | 必需。要刪除的項目數(shù)量。如果設置為 0,則不會刪除項目。 |
item1, ..., itemX | 可選。向數(shù)組添加的新項目。 |
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()方法,毫秒級別的數(shù)值被轉化為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時間戳轉時間
直接將時間戳作為參數(shù)新建一個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()對象的構造函數(shù)不僅可以接受表示時間戳數(shù)字類型的參數(shù),還可以接受時間字符串,但是對格式有要求。
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開始的毫秒數(shù)) myDate.getHours(); //獲取當前小時數(shù)(0-23) myDate.getMinutes(); //獲取當前分鐘數(shù)(0-59) myDate.getSeconds(); //獲取當前秒數(shù)(0-59) myDate.getMilliseconds(); //獲取當前毫秒數(shù)(0-999) myDate.toLocaleDateString(); //獲取當前日期 var mytime=myDate.toLocaleTimeString(); //獲取當前時間 myDate.toLocaleString( ); //獲取日期與時間----如果涉及到時分秒,直接使用即可。
關于JavaScript數(shù)據(jù)類型有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。