javascript算术运算符有哪些,js 扩展操作符
个人对…常用方法的理解
…作为扩展运算符
这里的扩展指的是数组或字符串或伪数组的扩展(即类似于数组的数据,可以取出每一个带下标的项,具有总长度属性,以下简称遍历对象),意思是取出数组中的每一项,用分隔(使用时是这样,单独打印的话用空格分隔)。
…可以扩展一维数组,就是只能去掉最外层的[];他的结果是数组被去掉了[]的结果,不是字符串也不是数组什么的。所以按照它逗号分隔的方式,可以作为函数的形参传递,也可以用另一个[]包住,作为函数作为数组的返回,但不能直接返回。可以通过控制台输出。脚本
让arr=[
5,
str ,
[1,2,3],
[你好,世界],
];
函数fn(arr){
console.log(.arr);
返回[.arr]
}
函数fo(.arr){
console . log(arr);
}
//函数foo(arr){
//返回.arr//应为表达式。
//}
console . log(fn(arr));//5 str (3) [1,2,3] (2) [hello , world]
//(4) [5, str ,数组(3),数组(2)]
//去掉外面的[],不去掉[1,2,3],[hello , world]里面的[]。
/script
…作为剩余运算符
余数运算符的意思是我不知道这个参数总共有多少个。我用…来表示余数。同样,它只适用于数组。而且这两种方法得到的结果是一个数组,而不是数组减[]。主要有两种方法:第一种:所有的参数都是未知的,所以不知道要传递多少。第二种:有一个或多个已知参数,其余参数未知。//第一种类型的所有参数都是未知函数aa(.arr){
console . log(arr);} AA (5, SSS ,22)//(3) [5, SSS ,22]=结果是一个数组//第二个,有两个已知参数的函数ff(a,b,arr){
Console.log (arr)} ff (2,3, str , 111)//(2) [str , 111]=结果是一个数组
特性其他应用:
分解字符串
您可以使用str.split()或
伪数组转换为真数组
既然他可以通过移除数组中的[]来显示可遍历对象,并且他可以用于伪数组,那么就很好理解了,使用伪数组后,对伪数组的形式进行了变换,然后在其中添加了[],也就是说可以调用真数组的方法。=[…arr。]
浅拷贝
由于它对可遍历的对象使用循环,所以不会改变原始数组,而是执行浅层克隆操作,因此可用于数组的浅层复制。=[…arr]
数组扁平化
脚本
//简单二维数组(内部有另一个数组的数组=二维)
让arr=[
5,
str ,
[1,2,3],
[你好,世界],
];
//三维数组(一个数组内部有一个数组,另一个数组内部有一个数组)
让arr1=[
5,
str ,
[
1,2,3,
[ccc , dddd]
],
[你好,世界],
];
函数扁平化(arr){
return []。串联(.arr);
}
函数flatten1(arr){
return []。串联(.arr.map(x=Array.isArray(x)?flatten 1(x):x));
}
console . log(flatten(arr));//(7) [5, str ,1,2,3, hello , world]
console . log(flatten 1(arr));//(7) [5, str ,1,2,3, hello , world]
console . log(flatten(arr 1));//(8) [5, str ,1,2,3,Array(2), hello , world]
console . log(flatten 1(arr 1));//(9) [5, str ,1,2,3, ccc , dddd , hello , world]
/script从上面可以看出,当数组结构非常简单(二维)时,扩展运算符可以求解里面的数组,使用concat进行拼接。但是当数组是多维的时候,就无法求解更深层次的数组,只能用扩张算子和递归来实现。
这就是常用方法的细节.JavaScript中的扩展运算符。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。