Skip to content

[js] 第102天 准确说出'1,2,3,4'.split()的结果是什么(包括类型和值)? #990

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
haizhilin2013 opened this issue Jul 26, 2019 · 10 comments
Labels
js JavaScript

Comments

@haizhilin2013
Copy link
Collaborator

第102天 准确说出'1,2,3,4'.split()的结果是什么(包括类型和值)?

@haizhilin2013 haizhilin2013 added the js JavaScript label Jul 26, 2019
@haizhilin2013 haizhilin2013 changed the title [js] 第102天 准确说出'1,2,3,4'.split()的结果是什么(包括类型和值)? [js] 第102天 准确说出'1,2,3,4'.split()的结果是什么(包括类型和值)? Jul 26, 2019
@LinStan
Copy link

LinStan commented Jul 27, 2019

["1,2,3,4"] 结果为一个长度为1的数组 元素的值类型为字符串
因为split 接收两个参数
第一个参数是用于判断如何分割的,可接受字符串或者正则表达式,如果为空会将整个字符串不进行分割直接作为数组的单个元素返回。
第二个参数是用于限制分割次数

@jacob-lcs
Copy link

上面的同学说的第二个参数的含义有一点错误
运行结果为 ["1,2,3,4"],是一个长度为1的Array,元素类型为String。
关于split函数,其可以接受两个参数,第一个参数是字符串或正则表达式,从该参数指定的地方分割 stringObject;但是第二个参数并不是说限制分割次数,而是限制返回Array的最大长度,举个例子:

let a = '1,2,3,4,5,6';
a.split(',', 3);  // 返回的结果为 ["1", "2", "3"]
a.split(',', 5);  // 返回的结果为 ["1", "2", "3", "4", "5"]

如果说split内没有参数值的话,就默认将整个字符串作为一个元素返回一个长度为1的Array

@DarthVaderrr
Copy link

@shenxiang11
Copy link

shenxiang11 commented Jul 29, 2019

'1false2'.split(false) // ['1', '2']
'1true2'.split(true) // ['1', '2']
'1null2'.split(null) // ['1', '2']
'1[object Object]2'.split({}) // ['1', '2']
'1undefined2'.split(undefined) // ["1undefined2"]

javascript 太难了。。。

@EragonBubble
Copy link

'1,2,3,4'.split() // ["1,2,3,4"]
typeof '1,2,3,4'.split() // "object"

@LemonSea
Copy link

LemonSea commented Aug 3, 2019

返回一个数组:[1,2,3,4]
数组里面元素的类型为string

@kanjiu
Copy link

kanjiu commented Aug 3, 2019

[ '1,2,3,4' ]

@Konata9
Copy link

Konata9 commented Aug 20, 2019

答案为 ['1,2,3,4'] 即长度为 1 的数组,里面内容为字符串。

split([separator[, limit]]) 方法接受两个参数(做这题之前只知道一个)

  • separator 为分隔符,用来做分割。如果不传,则返回包含整个字符串的数组(像本题)。如果传了 "" 则会分割每个字符,经常用此方法来转化程数组。separator 接受正则表达式。一般来说分隔符不会出现在返回的数组中,但如果正则使用了()(捕获符)那么返回值中就会包含匹配的内容。

  • limit 是对分割后的数组长度做限制的。当分割出的数组长度大于 limit 时,就会被截断。比如 '123456'.split('',3) => ['1','2','3']

参考文档: MDN String.prototype.split()

@smile-2008
Copy link

["1,2,3,4"] 结果为一个长度为1的数组 元素的值类型为字符串
因为split 接收两个参数
第一个参数是用于判断如何分割的,可接受字符串或者正则表达式,如果为空会将整个字符串不进行分割直接作为数组的单个元素返回。
第二个参数是用于限制分割次数

@xiaoqiangz
Copy link

return "[1,2,3,4]" 是个字符串

@haizlin haizlin deleted a comment Jun 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
js JavaScript
Projects
None yet
Development

No branches or pull requests