一.如何用split()得到以下输出(试了好几次不行)?
var arr = ['apple'];
...
输出:var arrNew = ['a','p','p','l','e'];
arr =arr [0];
arr.split(''); //['a','p','p','l','e'];
答案是有了,为什么要var arr = arr[0];呢?
@殷敏峰: arr[0] 的值就是 “apple”,是个字符串,可以使用split函数处理。
arr =arr [0]就是你要的了
答案是:
arr =arr [0];
arr.split(''); //['a','p','p','l','e'];
但是为什么要arr =arr [0];,这句话可不可以理解把arr清空?
1.split 函数是针对字符串的
2.你的arr 变量是一个数组,当你对一个数组用split 函数的时候,该变量会隐式的转换为一个字符串,因此就是 “apple”
3.split 函数是需要有一个参数的,该参数是用来分割字符串的,当你没有传入该参数的时候,该参数将默认为空字符串,因此拆分的时候,就会将字符串以单个字符的形式拆分。
不知以上回复是否清晰?
1 var arr = ['apple']; 2 undefined 3 arr 4 ["apple"] 5 arr.join() 6 "apple" 7 arr.join().split() 8 ["apple"] 9 arr[0].split() 10 ["apple"] 11 arr[0].split("") 12 ["a", "p", "p", "l", "e"] 13 arr.join().split("") 14 ["a", "p", "p", "l", "e"]