方法1、arrayObject.slice(start,end) 快速深度复制一个多维数组
关于 slice(start,end)
方法说明
参数 |
描述 |
start |
必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
end |
可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
返回值
返回一个新的数组,包含从 start
到 end
(不包括该元素)的 arrayObject
中的元素。
如果想删除数组中的一段元素,应该使用方法 Array.splice()
。
splice() 方法会直接对数组进行修改
。
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| var classArr= [ [ { name: 'stundentA', age: 18, subject:['科目一','科目二','科目三'] } ], [ { name: 'stundentB', age: 22, subject:['科目1','科目2','科目3'] } ], [ { name: 'stundentC', age: 21, subject:['科目A','科目B','科目C'] } ] ]; var copyArr = classArr.slice();
classArr.splice(2,1); console.log(classArr) console.log(copyArr)
|
方法2、使用es6的解构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| var classArr= [ [ { name: 'stundentA', age: 18, subject:['科目一','科目二','科目三'] } ], [ { name: 'stundentB', age: 22, subject:['科目1','科目2','科目3'] } ], [ { name: 'stundentC', age: 21, subject:['科目A','科目B','科目C'] } ] ]; var copyArr = [...classArr]; classArr.splice(2,1);
console.log(classArr) console.log(copyArr)
|