为什么javascript string split方法支持数组作为分隔符?

时间:2016-07-20 09:09:32

标签: javascript string split

MDN拆分方法分隔符被视为String或RegExp。但'asd'.split(['s'])正确返回['a','d']。

1 个答案:

答案 0 :(得分:4)

split的{​​{1}}包含以下步骤:

  
      
  1. 设R为ToString( separator )。
  2.   

因此,数组被强制转换为字符串,['s']的字符串表示形式为s

值得注意的是,如果将正则表达式传递给split,它就不会这么做,因为正则表达式对象具有内部@@split方法,该方法在步骤3中使用:

  
      
  1. 如果separator既不是undefined也不是null,那么

         

    一个。让分割器为GetMethod(分隔符,@@ split)。

         

    湾ReturnIfAbrupt(分离器)。

         

    ℃。如果拆分器未定义,则

         

    我。返回呼叫(拆分器,分隔符,«O,限制»)。

  2.