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 程式...