数组常用方法3.0
前面我们了解了数组的添加删除元素以及数组的查找。
接下来,我们了解数组的转换。
数组转换也有很多种方法:
map
arr.map
方法是最有用和经常使用的方法之一。
arr.map(function(item, index, array) { return item;//返回的是新的值,而不是当前元素 }); 复制代码
map
方法对数组的每个元素都调用函数,并且返回一个新的数组,新数组的元素是函数返回的值。
let lengths = ["Bilbo", "Gandalf", "Nazgul"].map(item => item.length); alert(lengths); // 5,7,6 复制代码
这里通过map
方法,我们可以得到每个元素的长度。
sort
arr.sort()
方法是对数组进行原位排序的方法(原位:就是指在原数组内,不会生成新数组)
sort方法如果不提供compareFunction比较函数,那么就把数组中的元素转成字符串后按字符的Unicode码点进行比较。元素按不同的类型转成字符串的结果是不同的,对于JSON格式对象来说,其转换的结果就是[object Object]。
最好的方法就是我们自己写一个比较函数,按照自己的想法去进行排序,比较函数要求返回-1,0,1
。
function compare(a, b) { if (a > b) return 1; // 如果第一个值比第二个值大 if (a == b) return 0; // 如果两个值相等 if (a < b) return -1; // 如果第一个值比第二个值小 } let arr = [1, 2, 3, 4, 5]; arr.sort(compare); alert(arr); // 1,2,3,4,5 复制代码
reverse
arr.reverse()
这个方法通常用来颠倒arr
里面元素的顺序。
let arr = [1,2,3,4,5]; arr.reverse(); console.log(arr);//5,4,3,2,1 复制代码
join
join
方法是将数组中的元素用指定的字符串连接起来,返回一个字符串。
里面可以放一个参数,这个参数是用来连接数组元素的字符串。
let str = ['海绵宝宝','痞老板','蟹老板','派大星']; let newStr = str.join(';');//不同元素之间用分号连接 console.log(newStr);//海绵宝宝;痞老板;蟹老板;派大星 复制代码
这个方法就是用来连接数组中的元素的。
split
split()
方法是用来分开字符串的,并将结果返回到一个数组里面
里面可以加一个参数,代表分隔符,默认是空格。
let str = '海绵宝宝;痞老板;蟹老板;派大星'; let newStr = str.split(';');//用分号分隔字符串 console.log(newStr);//[海绵宝宝,痞老板,蟹老板,派大星]