摘要:今天在工作中发现一个诡异的问题,理论上应该是没有元素的数组,长度居然是。查了半天,原来是中的和其他语言中不同,即对空使用会返回含有一个空的数组,而不是一个空数组。参考,也有类似的说明。
今天在工作中发现一个诡异的问题,理论上应该是没有元素的数组,长度居然是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.
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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 开发中有非常广泛的应用,简单的有判断数字还是字符串,进阶一点的有判断数组还是对象,再进阶一点的有判...
阅读 1458·2023-04-25 15:40
阅读 2686·2021-08-11 11:15
阅读 2235·2019-08-26 13:48
阅读 2829·2019-08-26 12:18
阅读 2397·2019-08-23 18:23
阅读 2888·2019-08-23 17:01
阅读 2963·2019-08-23 16:29
阅读 964·2019-08-23 15:15