改變原數組的方法
- pop():刪除數組最后一個元素,並返回該元素
- push():在數組尾部添加元素,並返回更新后的數組長度
- shift():刪除數組的第一個元素,並返回該元素
- unshift():在數組第一位添加元素,並返回更新后的數組長度
- sort():對數組排序(按字符ASCII進行排序),也可添加回調函數按照想要的規則排序
- reverse():數組反轉
- splice(index, howmany, 新數據):返回被刪除元素所組成的數組。
解決改變原數組的方法
背景:需要一個和原數組相等的數組,並且操作該數組時不影響原數組,方法:深拷貝。
var a = [1, 2, 3]; // 此時需要b等於a,但是改變b時,不影響a //方法一,slice() var b1 = a.slice(); //方法二,concat() var b2 = [].concat(a); //方法三,JSON.parse(JSON.stringify()) var b3 = JSON.parse(JSON.stringify(a)); //方法四,手寫深拷貝方法 var deepCopy = function(obj) { if (typeof obj !== 'object') return; var newObj = obj instanceof Array ? [] : {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { newObj[key] = typeof obj[key] === 'object' ? deepCopy(obj[key]) : obj[key]; } } return newObj; } var b4 = deepCopy(a);