js中改變原數組的方法以及解決改變原數組的方法


改變原數組的方法

  • 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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM