每天一點面試題(1)

2021-09-29 16:41:59 字數 1982 閱讀 9653

argument是乙個物件,只不過它的屬性從0開始排,依次為0,1,2…最後還有callee和length屬性。我們也把這樣的物件稱為類陣列。

常見的類陣列還有:

1.用getelementbytagname/classname/name()獲得的htmlcollection

2.用queryslector獲得的nodelist

轉成陣列的方法

array.prototype.slice.call()

function

sum(a, b)

sum(1,

2);//3

array.from()

function

sum(a, b)

sum(1,

2);//3

es6展開運算子

function

sum(a, b)

sum(1,

2);//3

function

sum(a, b)

sum(1,

2);//3

在foreach中用return不會返回,函式會繼續執行。

中斷方法:

1.使用try監視**塊,在需要中斷的地方丟擲異常。

2.官方推薦方法(替換方法):用every和some替代foreach函式。every在碰到return false的時候,中止迴圈。some在碰到return ture的時候,中止迴圈

對於前端專案開發過程中,偶爾會出現層疊資料結構的陣列,我們需要將多層級陣列轉化為一級陣列(即提取巢狀陣列元素最終合併為乙個陣列),使其內容合並且展開。那麼該如何去實現呢?

需求:多維陣列=>一維陣列

let ary =[1

,[2,

[3,[

4,5]

]],6

];// -> [1, 2, 3, 4, 5, 6]

let str =

json

.stringify

(ary)

;

呼叫es6中的flat方法

ary = arr.

flat

(infinity

);

replace + split

ary = str.

replace

(/(\[|\])/g,''

).split

(','

)

replace + json.parse

str = str.

replace

(/(\[|\]))/g,''

);str =

'['+ str +

']';

ary =

json

.parse

(str)

;

普通遞迴

let result =

;letfn=

function

(ary)

else

}}

利用reduce函式迭代

function

flatten

(ary),[

]);}

let ary =[1

,2,[

3,4]

,[5,

[6,7

]]]console.

log(

flatten

(ary)

)

6:擴充套件運算子

//只要有乙個元素有陣列,那麼迴圈繼續

while

(ary.

some

(array.isarray)

)

每天一道面試題(1)

2011年 阿里巴巴 筆試題集 第23題 乙個骰子,6面,1個面是 1,2個面是2,3個面是3,問平均擲多少次能使1 2 3都至少出現一次.這題可以翻譯為,乙個骰子,6面,1個面是 1,2個面是2,3個面是3,隨機扔骰子,在第x次時3個數都出現,求這個x的期望 也就是扔無數次,x的平均值是多少 思路...

每天一點python xlrd

xlrd是python語言中讀取excel的擴充套件工具,可以實現指定表單 指定單元格的讀取。1.讀取excel檔案 workbook xlrd.open workbook file.xls 2.獲取excel中表單數量 workbook.nsheets 3.獲取excel中的乙個表單 workbo...

每天一點C (一)

在搭建好c 的環境後,我們就可以開始進行c 的學習了,從基礎的語法開始時!首先我們要知道乙個 c 程式主要包括以下部分 空間宣告 class class 方法 class 屬性 乙個 main 方法 語句 表示式 using system 執行結果就是顯示 hello world 我的第乙個c 程式...