我们逐一来看以下的例子:
· array1, string1:只要有逗号就可分成一个数组 。
· arrayWithLimit: 已经指定了一处限制,因此生成的数组只有四个起始元素,这即是限制 。
· arrayWithoutSeperator: 前文已经讨论过,如果没有给出分隔符,整个字符串将转换为数组的单个元素 。
· array2:由于参数中的引号为空, split() 可分隔每个字符,包括空格符、逗号和任何其他可能存在的字符 。
· array4:可以看到字符串中缺少所有“and”,并且遗漏的字符串成为了数组的单个元素 。如果参数中只有一个字母,则结果将得到诸多元素和一个缺少指定元素的字符串 。可以尝试一下 。因此,使用单词或字符串作为分隔符时,要十分小心 。
【JavaScript都得知道这3个数组方法】· array3, array5, array, array7, array8:拆分了上述所有内容后,可以生成相同的字符串,这是正确的操作,因为我们只对相应字符撤消 了join()。
练习:使用join(), split(), and reverse()创建一个函数
现在可以练习使用 join(), split(), 和 reverse() 创建函数,检查用户输入字符串是否为回文结构 。
如果还不熟悉 reverse() 方法,就记住它只是反转数组的元素 。
例如:
const num = [1,2,3,4,5,6] const reverseNum = num.reverse() console.log(reverseNum) //[ 6, 5, 4, 3, 2, 1 ]
以上就是 split() 方法 。尝试练习一下,可把自己的GitHub存储库的代码共享到评论区 。
3. Sort()方法正如名字所述, sort() 方法是对数组中的元素进行排序 。
默认情况下, sort() 函数将值排序为字符串 。
let greekLetter = ['beta','alpha','delta','gamma']; console.log(greekLetter.sort()) // [ 'alpha', 'beta', 'delta', 'gamma' ]
对数字进行排序时,会出现问题 。
因为,如果要对数字进行排序,比如说100和25,100将出现在25之前,因为100中的1出现在25中的2之前 。
let num1 = [25, 100, 23] console.log(num1.sort()) //[ 100, 23, 25 ] let num2 = ['25', '100', '23'] console.log(num2.sort()) //[ '100', '23', '25' ]
可以使用比较函数来解决这一问题,这种方法将函数传递给语法: function(a, b){return a — b}
let num = [25, 100, 23] console.log(num.sort((a, b) => { return a - b })) //[ 23, 25, 100 ]
(我们使用了箭头函数,而不是上文语法中给出的传统函数.)
首先要理解这个比较函数 。它应返回负值、零值还是正值,具体取决于参数——a更大还是b更大 。
当 sort() 函数比较两个值时,它会将值发送至比较函数,并根据返回值(负值、零值或正值)对值进行排序 。
· 如果结果为负,则a排在b之前 。
· 如果结果为正,则b排在a之前 。
· 如果结果为0,则两个值的排序顺序不会发生改变 。
· 比较函数比较数组中的所有值,一次比较两个值(a,b) 。
· 比较25和100时, sort() 方法调用比较函数(25,100) 。
· 函数计算25-100(a,b),且在结果为负(-75)时,sort函数将25排为低于100的值 。
推荐阅读
- 七大装修注意事项你一定要知道
- 美国51区到底有什么秘密 美国总统知道51区吗
- 二手房的“套路”你知道吗,细数二手房购买注意事项
- 夏天跑步有哪些好处?
- 红茶是blacktea非redtea 为什么
- 普洱茶的这些秘密 你知道吗
- 你不知道的杏山竹叶青
- 普洱的这些知识 你知道吗
- 红茶懂得冬日如何不感冒
- 分辨凤凰单枞茶的品鉴技巧
