JS从零开始(27)

136 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第27天,点击查看活动详情

join()

这个方法的作用是将数组转换为字符串,同时join方法还可以指定一个符号作为分隔符来分隔数组,如果不使用分隔符,那么效果将会和toString()方法一样默认用逗号来分隔数组,如:

var array1 = ['北京', '天津', '上海', '广东', '深圳', '成都'];
//默认逗号分隔
var array2 = array1.join();
console.log(array2);//北京,天津,上海,广东,深圳,成都
//指定分隔符
var array3 = array1.join('|');
console.log(array3);//北京|天津|上海|广东|深圳|成都
console.log(typeof array2, typeof array3);//string string

split()

这个方法我们之前讲过,跟join()方法正好相反,这个是将字符串转换成数组,同时也是需要传递参数(指定的分隔符),在开发当中,此方法用得很多,所以我们需要牢记。

var str = 'a,b,c,d,e,f,g';
var array = str.split(',');
console.log(JSON.stringify(array), typeof array);//["a","b","c","d","e","f","g"] object

注意:我们在传递分隔符参数的时候,一定要注意传递的参数必须是原来字符串里面有的符号或者是某个字符,我们是通过字符串里面的符号来分隔的,并不是重新拿一个符号来当成参数传递。所以如果像这样var array = str.split('.');以点号来进行分隔,而原字符串里面没有点号,那么就会分隔不成功!还有一点,这个split()方法是字符串方法而非数组方法

reverse()

顾名思义,倒转数组,也会改变原数组,如:

var array1 = ['北京', '天津', '上海', '广东', '深圳', '成都'];
var array2 = array1.reverse();
console.log(JSON.stringify(array2));//["成都","深圳","广东","上海","天津","北京"]

sort()

这个方法使用极其灵活,难度也比前面几个方法高,我们先来介绍最简单的,也就是不传递参数时的使用方法,要知道,这个方法是用来给数组排序的,当我们不传递任何参数时,系统则会默认比较其Unicode编码来进行排序,如:

var array1 = [3, 2, 5, 1, 4];
var array2 = array1.sort();
console.log(JSON.stringify(array2));//[1,2,3,4,5]
var array3 = [5, 3, 56, 11, 21];
console.log(JSON.stringify(array3.sort()));//[11,21,3,5,56]