资讯专栏INFORMATION COLUMN

JavaScript中对空string调用split返回不是空数组

liaorio / 3146人阅读

摘要:今天在工作中发现一个诡异的问题,理论上应该是没有元素的数组,长度居然是。查了半天,原来是中的和其他语言中不同,即对空使用会返回含有一个空的数组,而不是一个空数组。参考,也有类似的说明。

今天在工作中发现一个诡异的问题,理论上应该是没有元素的数组,长度居然是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

相关文章

  • JavaScript闯关笔记

    摘要:对空数组是不会执行回调函数的。就算改变已经发生了,你再对对象添加回调函数,也会立即得到这个结果。用来表示函数是异步的,定义的函数会返回一个对象,可以使用方法添加回调函数。 介绍 通过Array/Object/Function基础类型编写。 看到自己不了解的或者比较新颖的用法便会写上。 不定时更新内容。 本文首发于我的个人网站: Timbok.top 目录 Array 迭代方法 ...

    Jokcy 评论0 收藏0
  • JavaScript数据结构01 - 数组

    摘要:元素是通过指定的分隔符进行分隔的。如果数组已经为空,则不改变数组,并返回值。可添加多个元素返回值把指定的值添加到数组后的新长度。该参数是数组片断结束处的数组下标。返回值对数组的引用。语法返回值的字符串表示。当前元素所属的数组对象。 一、创建数组 1.1 使用Array构造函数 var arr1 = new Array(); // 创建一个空数组 var arr2 = new Array...

    godlong_X 评论0 收藏0
  • 复杂数据处理

    摘要:前端对于数据的处理一般会用到等方法,下面逐次进行分析方法用于调用数组的每个元素,并将元素传递给回调函数。注意对于空数组是不会执行回调函数的。方法按照原始数组元素顺序依次处理元素。 前端对于数据的处理一般会用到foreach、map、reduce、Object.values()、Object.keys()、Object.entries()等方法,下面逐次进行分析 foreachforEa...

    libin19890520 评论0 收藏0
  • JavaScript 类型转换

    摘要:这样导致结果不一致,等解析语句为,对空对象强制转为数字类型,即为,将非空字符串转换为数字类型,结果为。综上,右边表达式转换为。 首先从一系列让JavaScript初学者抓狂的运算说起。 1 + {} {} + 1 [] + {} {} + [] [] + [] {} + {} 能全部答对上面的运算结果,不必浪费时间继续阅读本文了。如果对某一些的结果还不确定,请慢慢往下看。 上面列的所有...

    sydMobile 评论0 收藏0
  • JavaScript专题之类型判断(上)

    摘要:专题系列第四篇,讲解类型判断的各种方法,并且跟着写一个函数。返回值为表示操作数类型的一个字符串。考虑到实际情况下并不会检测和,所以去掉这两个类型的检测。 JavaScript专题系列第四篇,讲解类型判断的各种方法,并且跟着 jQuery 写一个 type 函数。 前言 类型判断在 web 开发中有非常广泛的应用,简单的有判断数字还是字符串,进阶一点的有判断数组还是对象,再进阶一点的有判...

    lk20150415 评论0 收藏0

发表评论

0条评论

liaorio

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<