當前位置:網站首頁>JS學習筆記-- 數組方法 底層實現方式
JS學習筆記-- 數組方法 底層實現方式
2022-07-23 23:41:48【(σ゚∀゚)σ..:**哎喲不錯哦】
push – 尾部添加
返回數組的長度值
Array.prototype.myPush = function(val) {
if (arguments.length && arguments.length > 1) {
for (let i = 0; i < arguments.length; i++) {
this[this.length] = arguments[i]
}
} else {
this[this.length] = val
}
return this.length
}
pop 尾部删除
只能删除一個 ,並返回删除的元素
// 尾部删除
Array.prototype.myPop = function() {
// 删除最後一個元素 並返回當前删除的元素
console.log('11==',this)
const val=this[this.length-1]
this.length--
return val
}
unshift 頭部添加
返回數組長度
Array.prototype.myUnshift = function(val) {
const len = arguments.length
const len1 = this.length
if (len1) {
// 數組長度大於0,所有元素往後移動
if (len) {
for (let i = len1 - 1; i >= 0; i--) {
// const temp=this[i]
this[i + len] = this[i]
}
for (let i = 0; i < len; i++) {
this[i] = arguments[i]
}
}
} else {
// 數組長度等於0
if (len) {
for (let i = 0; i < len; i++) {
this[i] = arguments[i]
}
}
}
return this.length
}
shift 頭部删除
無參數,返回當前删除的元素值
Array.prototype.myShift=function(){
for (var i = 0; i < this.length-1; i++) {
this[i]=this[i+1]
}
const val=this[0]
this.length--
return val
}
splice 删除 替換元素 插入元素
返回删除的元素 第一個參數 起始元素坐標,第二個元素 删除元素的個數,第三個至第N個 ,替換或新增的元素
持續更新中
版權聲明
本文為[(σ゚∀゚)σ..:**哎喲不錯哦]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/204/202207232338215962.html
邊欄推薦
猜你喜歡
隨機推薦
- 快速解决:Xshell拖不進去文件夾或者軟件包的問題
- RHCSA--文件內容瀏覽、cut、uniq、sort、.tr命令使用
- 信號完整性(SI)電源完整性(PI)學習筆記(三十二)電源分配網路(四)
- EasyGBS平臺出現錄像無法播放並存在RTMP重複推流現象,是什麼原因?
- 第七天筆記
- 【可視化調度軟件】上海道寧為SMB組織帶來NETRONIC下載、試用、教程
- 概率沉思錄:2.The quantitative rules
- 常用的鼠標事件和鍵盤事件
- C#:in、out、ref關鍵字
- GRE,MGRE的詳細了解;OSPF基礎配置知識
- Creo 9.0 如何快速修改CAD坐標系?
- 第五天筆記
- 强化學習——策略梯度理解點
- shell跑的時候需要的需要了解命令
- OKRK3399開發板預留I2C4掛載EEPROM
- 優化華為雲服務器采用Key登陸
- 第2章 基礎查詢與排序
- 【C語言】猜數字小遊戲+關機小程序
- 什麼是Per-Title編碼?
- @FeignClient使用詳細教程(圖解)
- Kettle實現共享數據庫連接及插入更新組件實例
- 基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪
- VSCode 更新後與tab相關快捷鍵無法使用
- 後綴錶達式(暑假每日一題 4)
- 關於初始化page入參的設計思路
- Bean Validation核心組件篇----04
- 動態規劃背包問題之完全背包詳解
- 死磕遞歸1:遞推公式
- SQL報錯盲注詳解
- 工業物聯網中的時序數據
- 配置Gom引擎登錄器出現錯誤提示:沒有發現必備補丁文件!
- 【215】gin框架連接mysql數據庫
- go中的協程原理詳解
- 【JZOF】13機器人的運動範圍
- PCL:多直線擬合(RANSAC)
- 1259. 不相交的握手 動態規劃
- 基於FPGA的UART接口設計
- elk筆記25--快速體驗APM
- 能量原理與變分法筆記19:最小餘能原理+可能功原理
- 梅科爾工作室-小熊派開發筆記2