js 陣列常用方法原始碼實現

2021-10-24 08:14:10 字數 2161 閱讀 7539

/* 手寫push原始碼實現

1.在陣列的末尾新增

2.可以一次新增多項不同型別的資料

3.返回陣列的長度

*/const array = [1, 2, 3, 4]

// console.log(array.push(5,6,7))

// console.dir(array)

array.prototype.mypush = function ()

return this.length

}console.log(array.mypush(5,6,7,)) // 8

console.dir(array) // [ 1, 2, 3, 4, 5, 6, 7, ]

/* 手寫pop原始碼實現

1.去除陣列末尾項

2.返回去除的陣列項

*/const array = [1, 2, 3, 4]

array.prototype.mypop = function ()

console.log(array.mypop(), array) // 4 [ 1, 2, 3 ]

console.log(array.mypop(), array) // 3 [ 1, 2 ]

/* 手寫unshift原始碼實現

1.在陣列的開頭新增

2.可以一次新增多項不同型別的資料

3.返回陣列的長度

*/const array = [1, 2, 3, 4]

array.prototype.myunshift = function ()

return this.length

}console.log(array.myunshift(, 2, 3), array) // 7 [ , 2, 3, 1, 2, 3, 4 ]

/* 手寫shift原始碼實現

1.去除陣列首項

2.返回去除的陣列項

*/const array = [1, 2, 3, 4]

array.prototype.myshift = function ()

for (let i = 0; i < newary.length; i++)

this.length--

return item

}console.log(array.myshift(), array) // 1 [ 2, 3, 4 ]

/* 手寫myreduce原始碼實現

*/const array = [1, 2, 3, 4]

array.prototype.myreduce = function (fn, initstate) )

return init

}let sum = array.myreduce((pre, current) => , 0)

console.log(sum) // 10

/* 手寫myreduce原始碼實現

*/array.prototype.myreduce = function (fn, initstate) else

} return initstate

}

/**

*手寫foreach**/

array.prototype.myforeach = function (fn)

}

/**

* 手寫map

*/array.prototype.mymap = function (fn)

return arr

}

// 改變原陣列

array.prototype.myreverse = function ()

return this;

}

array.prototype.myfilter = function (fn, obj) 

return arr;

}

array.prototype.myevery = function (fn) 

}return flag;

}

持續更新中。。。

js方法原始碼

去除html標籤 function removehtmltag str ie8相容placeholder標籤 不能輸入以0開頭的正數且不能輸入0,否則返回空字串 input name helpclass.seq keyup function else ps 不能輸入以0開頭的正整數但是可以輸入0的正...

js陣列常用方法相容實現

js的陣列提供了很多簡便的操作方法。如foreach,map,every,some,filter,reduce。這些方法極大的簡化了陣列的操作,甚至將一些類陣列資料,如dom元素,通過es6的 解構或者.slice.call xx 轉成陣列後,也可以方便的使用。但是,這幾個方法是從ie9才支援的,如...

js陣列常用方法

push 向陣列的末尾增加一項 返回值是陣列的新長度 unshift 向陣列開頭增加一項 返回值是陣列的新長度 pop 刪除陣列的末尾項 返回值是刪除的陣列項 shift 刪除陣列開頭項 返回被刪除的開頭專案 splice 刪除陣列中的任意項 返回值是被刪除的陣列項 slice 複製陣列 返回值是複...