前端面試陣列方法原理

2021-10-24 14:36:12 字數 2081 閱讀 6881

map原理

reduce原理

;(function () )

console.log(res)//false

array.prototype.myevery = function myevery(callback))

console.log(res)

some原理

// 陣列方法之some的使用

// some的結果也是true或false

// 有乙個滿足條件就是true 否則就是false

array.prototype.mysome = function mysome(callback))

console.log(res)

concat原理

// 陣列方法之concat 本意是合併的意思

// 可以把多個陣列合併成乙個新的陣列

array.prototype.myconcat = function myconcat(...values)

values.foreach(value=>else

})return newarr

}let arr1 = [1,2,3];

let arr2 = [4,5,6];

let arr3 = [7,8,9];

let arr4 = [10,11,12];

console.log(arr1.myconcat(arr2,arr3,arr4,"hello"))

console.log(arr1.concat("hello"))

slice(begin,end)原理

// 1)返回乙個新的陣列

// 2)返回的新的陣列 它裡面的元素由begin和end決定

// 3)包括 begin,不包括end

// 4)如果只有begin,那麼表示從begin一直擷取到最後

// 4)沒有begin 也沒有end

array.prototype.myslice = function mysilce(begin,end)

// 處理start特殊情況

begin = begin||0

if(begin<0)else if(begin>this.length)

// 處理end的特殊情況 1)沒有begin 沒有end 2)有begin 沒有end 負數

end = end||this.length

if(end<0)

if(end>this.length)else if(end<=begin)

for(let i=begin; iflat原理

// 有乙個多維陣列 要對陣列降維 2-–>1 陣列扁平化 打平乙個陣列

// [1,2,[3,4,[5,6]]] ===> [1,2,3,4,5,6]

let arr = [1,2,[3,4,[5,6]]];

console.log(arr.flat()); // 降一維 [1, 2, 3, 4, array(2)]

console.log(arr.flat().flat()); // 降一維 [1, 2, 3, 4, 5, 6]

array.prototype.myflat = function myflat()else

},)}let arr = [1,2,[3,4,[5,6]]];

console.log(arr.myflat());

方法二

array.prototype.myflat = function myflat()

return newarr

}let arr = [1,2,[3,4,[5,6]]];

let res = arr.myflat()

console.log(res)

前端面試 前端面試總結2018 07

2周面試了11家公司吧,具體面試題如下 面試第一周 7.23 7.27 中谷芯厚建 蘇寧vivo外包 電面 杭州通策會 第二週 7.30 8.3 南京軟體谷研究院 烽火科技 邁特望,蘇寧外包 電面 平安科技外包 華泰 外包 一輪 技術面,二輪現場技術面 三隻松鼠 電面 一.中谷芯 二.厚建 angu...

前端面試 陣列去重

法一 indexof迴圈去重 function unique1 arr return newarr console.log unique1 1,2,3,1,2,3,a a b 結果是 1,2,3,a b 法二 es6 set去重 array.from new set array function u...

前端面試 陣列去重

方法1 重點是陣列相鄰的數進行比較,如果沒有相等的話就push進去 如果有相等的話,再比較下兩個相鄰的數,沒有有沒有相等的話就push進去 array.prototype.quchong function a for var i 0 ia 1,2,3,2,1,4 console.log a.quch...