JavaScript 数组操作:不影响原数组的返回数组方法
在前提:var arr =[1,3,2] 下,下面哪个操作会返回一个数组,且不会影响 arr 的是
A. arr . reverse () B. []. sort. call (arr) C. []. concat . call (arr,[]) D. arr. push(3)
正确答案:C
[].concat.call(arr,[])
解释:
arr.reverse()
会直接修改原数组 arr,不是返回一个新数组。[].sort.call(arr)
会直接修改原数组 arr,不是返回一个新数组。arr.push(3)
会直接修改原数组 arr,不是返回一个新数组。[].concat.call(arr,[])
不会修改原数组 arr,而是返回一个新的数组,包含了 arr 的所有元素。
总结:
在需要返回一个新的数组,且不影响原数组的情况下,[].concat.call(arr,[])
是最佳选择。

原文地址: http://www.cveoy.top/t/topic/jHag 著作权归作者所有。请勿转载和采集!