摘要:今天在工作中發現一個詭異的問題,理論上應該是沒有元素的數組,長度居然是。查了半天,原來是中的和其他語言中不同,即對空使用會返回含有一個空的數組,而不是一個空數組。參考,也有類似的說明。
今天在工作中發現一個詭異的問題,理論上應該是沒有元素的數組,長度居然是1。查了半天,原來是Javascript中的split和其他語言中不同,即對空string使用split會返回含有一個空string的數組,而不是一個空數組。
var str = "", arr = str.split("_"); console.log(arr.length === 1); //true console.log(arr === []); //false console.log(arr === [""]); //true
參考MDN,也有類似的說明。
Note: When the string is empty, split returns an array containing one empty string, rather than an empty array.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78563.html
摘要:對空數組是不會執行回調函數的。就算改變已經發生了,你再對對象添加回調函數,也會立即得到這個結果。用來表示函數是異步的,定義的函數會返回一個對象,可以使用方法添加回調函數。 介紹 通過Array/Object/Function基礎類型編寫。 看到自己不了解的或者比較新穎的用法便會寫上。 不定時更新內容。 本文首發于我的個人網站: Timbok.top 目錄 Array 迭代方法 ...
摘要:元素是通過指定的分隔符進行分隔的。如果數組已經為空,則不改變數組,并返回值。可添加多個元素返回值把指定的值添加到數組后的新長度。該參數是數組片斷結束處的數組下標。返回值對數組的引用。語法返回值的字符串表示。當前元素所屬的數組對象。 一、創建數組 1.1 使用Array構造函數 var arr1 = new Array(); // 創建一個空數組 var arr2 = new Array...
摘要:前端對于數據的處理一般會用到等方法,下面逐次進行分析方法用于調用數組的每個元素,并將元素傳遞給回調函數。注意對于空數組是不會執行回調函數的。方法按照原始數組元素順序依次處理元素。 前端對于數據的處理一般會用到foreach、map、reduce、Object.values()、Object.keys()、Object.entries()等方法,下面逐次進行分析 foreachforEa...
摘要:這樣導致結果不一致,等解析語句為,對空對象強制轉為數字類型,即為,將非空字符串轉換為數字類型,結果為。綜上,右邊表達式轉換為。 首先從一系列讓JavaScript初學者抓狂的運算說起。 1 + {} {} + 1 [] + {} {} + [] [] + [] {} + {} 能全部答對上面的運算結果,不必浪費時間繼續閱讀本文了。如果對某一些的結果還不確定,請慢慢往下看。 上面列的所有...
摘要:專題系列第四篇,講解類型判斷的各種方法,并且跟著寫一個函數。返回值為表示操作數類型的一個字符串。考慮到實際情況下并不會檢測和,所以去掉這兩個類型的檢測。 JavaScript專題系列第四篇,講解類型判斷的各種方法,并且跟著 jQuery 寫一個 type 函數。 前言 類型判斷在 web 開發中有非常廣泛的應用,簡單的有判斷數字還是字符串,進階一點的有判斷數組還是對象,再進階一點的有判...
閱讀 1483·2023-04-25 15:40
閱讀 2834·2021-08-11 11:15
閱讀 2273·2019-08-26 13:48
閱讀 2844·2019-08-26 12:18
閱讀 2448·2019-08-23 18:23
閱讀 2905·2019-08-23 17:01
閱讀 2978·2019-08-23 16:29
閱讀 1101·2019-08-23 15:15