扩展运算符...和map,filter等方法返回的数组是深拷贝么
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩展运算符...和map,filter等方法返回的数组是深拷贝么相关的知识,希望对你有一定的参考价值。
参考技术A 扩展运算符...和map,filter等方法返回的数组是深拷贝么?我们先对扩展运算符做一个测试
由上面的测试可以看出,扩展运算符只是部分深拷贝,只是对第一层进行了深拷贝,其他都是浅拷贝
我们再对map和filter进行测试
有上面的测试可见,map和filter返回的数组也是部分深拷贝,只对第一层进行了深拷贝
我们也可以这样理解,他们都是把第一层的元素挨个取出来然后赋值给了一个新的数组
JS之JQ的map/reduce/filter/sort/reverse
参考技术A map 是遍历数组,并返回一个新数组.reduce 是遍历数组,把所有元素组合到一起:
filter 是遍历数组,根据条件筛选 得出一个新数组
与我们之前用的数组方法仅仅返回一个新数组不同, sort 方法将改变原数组,返回被排序后的数组。
默认 :按字母顺序或数字顺序对数组中的元素进行排序。
sort 可以把比较函数作为参数传入。比较函数有返回值,当 a 小于 b,返回一个负数;当 a 大于 b ,返回一个正数;相等时返回0。
如果没有传入比较函数,它将把值全部转成字符串,并按照字母顺序进行排序。
下面的例子将展示 sort 的使用,传入的比较函数把元素按照从小到大的顺序进行排列:
reverse 对数组进行反转,对元素组操作,返回反转后的数组。
concat 方法可以用来把两个数组的内容合并到一个数组中。
concat 方法的参数应该是一个数组。参数中的数组会拼接在原数组的后面,并作为一个新数组返回。
下面是一个拼接数组的例子,用concat 把 otherArray 拼接在 oldArray 的后面:
以上是关于扩展运算符...和map,filter等方法返回的数组是深拷贝么的主要内容,如果未能解决你的问题,请参考以下文章
Python-函数式编程-map reduce filter lambda 三元表达式 闭包