携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情
fill()
这个容易理解,就是一个简单的填充方法,如:
//覆盖填充
var array = ['北京', '天津', '上海', '广东', '深圳', '成都'];
var newarray = array.fill('香港');
console.log(array,newarray);
ps:当我们只传递一个参数时,往往都会将原数组中的所有数组元素覆盖成传递的参数。
那么我们又该如何进行指定位置的填充呢?如何填充指定个数的元素呢?
var array = ['北京', '天津', '上海', '广东', '深圳', '成都'];
var newarray = array.fill('香港', 0, 3);//填充索引值为0~3的数组元素,左闭右开
console.log(JSON.stringify(array));//["香港","香港","香港","广东","深圳","成都"]
console.log(JSON.stringify(newarray));//["香港","香港","香港","广东","深圳","成都"]
如上所示,fill方法传递参数跟其他方法不太一样,他的传递的参数是写在前面,元素索引值写在后面,而其他方法传递的参数和索引值则相反。
合并(拆解)数组
| 方法 | 解释说明 | 是否改变原数组(字符串) |
|---|---|---|
concat() | 将两个或多个数组连接起来,返回值是连接后的新数组 | 否 |
join() | 将数组转换成字符串,返回值是转换后的字符串 | 否 |
split() | 将字符串转换为数组,返回值是转换后的数组 | 否 |
concat()
使用方法如下:
var array1 = ['a', 'b', 'c', 'd', 'e', 'f'];
var array2 = ['g', 'h', 'i', 'j', 'k'];
var array3 = ['l', 'm', 'n', 'o'];
//连接数组
var array4 = array1.concat(array2, array3);
console.log(JSON.stringify(array4));//["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o"]
注意:使用此方法是一定要看清是concat()而不是contact()!!!
还有一种合并数组的方法,是利用三个省略号...这种展开语法,如:
var array2 = ['g', 'h', 'i', 'j', 'k'];
var array3 = ['a', 'b', 'c', 'd', 'e', 'f', ...array2];
console.log(JSON.stringify(array3));//["a","b","c","d","e","f","g","h","i","j","k"]
但是!!
如果中括号里面传递的是两个数组名,则合并的数组有嵌套,如:
var array1 = ['a', 'b', 'c', 'd', 'e', 'f'];
var array2 = ['g', 'h', 'i', 'j', 'k'];
var array3 = [array1, ...array2];
console.log(JSON.stringify(array3));//[["a","b","c","d","e","f"],"g","h","i","j","k"]
注意:这种方法一定只能是3个省略号,多一个不行少一个不行!