数据的增强
复制数组
数组是复合数据类型,如果直接复制,它只是复制指向基础数据结构的指针,而不是复制新数组。使用扩展运算符可以轻松复制数组。
consta1=[ 1,2 ]; //写法一const a2=[.a1]; //写法const [.a2]=a1;
const arr1=['a ',' b']; const arr2=['c']; const arr3=['d ',' e']; //ES5的合并序列arr1.concat(arr2,arr3); //「a”、“b”、“c”、“d”、“//es6的合并数组[.arr1、 arr2、 arr3]//[ 'a、“b”、“c”、“d”
[.'hello' ]//[ 'h '、' e '、' l '、' l '、' o']
//find [ 1,5,10,15 ].find (功能(value,index,arr ) { return value 9; }//10//findindex [ 1,5,10,15 ].findindex (功能(value,index,arr ) { return value 9; (//2
['a ',' b ',' c'].fill(7(7)/[ 7,7,7 ] new array )3).fill )7)/[ 7,7,7 ] [ ' a ',' b,' c ]
letARR=newArray(3).fill({name:'kqdgq'}; arr[0].name='mmdxq '; ARR///[{name:'mmdxq'}、{name:'mmdxq'}、{ name 3360 ' mmdxq ' } ] letarr=new array (3).fill () Ararat arr//[[5]、[5]、[5]]
数组空闲数组的平面(平面图)、数组的包含(includes )、数组的条目(entries )、keys )和values ) )
请注意,如果填充类型为对象,则分配的是同一内存地址的对象,而不是深度复制对象。
fill方法还可以接受第二个和第三个参数,它们指定填充的开始和结束位置。
fill方法对于初始化空数组很有用。 数组中的所有现有元素都将被清除。
fill方法使用指定的值填充数组。
数组的填充) )方法
数组实例的find方法。 查找第一个满足条件的数组成员。 的参数是回调函数,所有数组成员依次执行回调函数并返回该成员,直到找到第一个返回值为true的成员。 如果没有符合条件的成员,则返回undefined。
数组实例的find (和findIndex )方法
扩展运算符还可以将字符串转换为真正的数组。
字符串由数组const a1=[{ foo: 1 }]; const a2=[{ bar: 2 }]; CONSTA3=A1.CONCAT(A2; const a4=[.a1, a2]; a3 [0]==a1 [0]/true a4 [0]==a1 [0]/true
在上面的代码中,a3和a4是以两种不同方式合并的新数组,但成员是对原始数组成员的引用。 这就是浅拷贝。 更改引用的值将同步反映在新数组中。
但是,这两种方法都是轻拷贝,使用时需要注意。
扩展运算符提供了数组合并的新写法。
结合序列