js陣列有許多暴露了api,作為使用者,不僅要會用還要熟練,下面給大家帶來億點點api以及使用技巧供各位嫖客(我也是?)享用。先來個資料備忘錄怎麼樣(盜竊位址)?
(本文大部分內容是以上位址,當然也有本人的補充)
上圖的補充:
every, some 返回的是布林值,表示每個都滿足,或者存在滿足
find
,findindex 返回的分別是第乙個滿足的陣列項與陣列項索引
[
nan]
.includes
(nan
)// true
[nan].
indexof
(nan
)// -1
方法從乙個類似陣列或可迭代物件建立乙個新的,淺拷貝的陣列例項。
array.
from([
1,2]
);// [1,2] 淺拷貝
array.
from()
// [1,2] 也可以接受類陣列
array.
from
('foo');
//["f", "o", "o"]
array.
from([
1,2,
3], x => x + x)
;//[2, 4, 6]
[1,
2,3]
.fill(0
,1,3
)//[1, 0, 0][1
,2,3
].fill(4
)// [4, 4, 4][1
,2,3
].fill(4
,1)//[1, 4, 4]
按照乙個可指定的深度遞迴遍歷陣列,並將所有元素與遍歷到的子陣列中的元素合併為乙個新陣列返回
[0,
1,2,
[3,4
]].flat()
// [0, 1, 2, 3, 4][[
0,[2
,3]]
,1,[
4,5]
].flat(2
)// [0, 2, 3, 1, 4, 5]
flatmap 建議大家也了解一下
//求和[1
,2,3
].reduce
((a,b)
=> a+b)
// 6
//最後引數是累加器(accumulator)的初始值[1
,2,3
].reduce
((a,b)
=> a+b,-1
);// 5
// 計算男生的分數[,
,].reduce
((acc, student, index, arr)
=>,0
);
還有大佬文章: csdn更高階用法
生成1-100這樣陣列
const arr =
newarray
(100).
fill(0
).map(
(item, index)
=> index +1)
//1-100
const arr = array.
from
(array
(100),
(v, k)
=> k +1)
//1-100
const ary =
[...
array
(100).
keys()
]// 0-99
交換變數&生成剩餘陣列(解構應用)
[a, b]
=[b, a]
[o.a, o.b]
=[o.b, o.a]
// 注意 res必須放在最後
const
[a,...rest]=[
...'asdf'
]// a:'a',rest: ["s", "d", "f"]
[a,b,
...rest]=[
1,2,
3,4]
// a:1 b:2,rest:[3,4]
淺拷貝:
const arr =[1
,2,3
]array.
from
(arr)
;// [1,2,3]
arr.
concat()
;// 同上
[...arr]
;// 同上
// 當然這不只是陣列的權利,物件也可以
陣列合併:
[
...[1]
,...[2
,3],
...[4,
5,6]
];//[1, 2, 3, 4, 5, 6][1
].concat([
2,3]
,[4,
5,6]
)// 結果同上
//你可能注意到解構好像還能有扁平一維陣列的作用
陣列去重:
array.
from
(new
set([1
,2,3
,2])
)// 1,2,3
[...
newset([
1,2,
3,2,
3])]
// 同上
取交集與差集
// 交集
[...
newset([
1,2,
3])]
.filter
(item =>[2
,3,4
].includes
(item)
)// [2,3]
//差集
[...
newset([
...[2,
3,5]
,...[1
,5,6
]])]
.filter
(item =>![
2,3,
5].includes
(item)||!
[1,5
,6].
includes
(item)
)// [2,3,1,6]
刪除陣列虛值
[0,
"blue",""
,nan,9
,true
, undefined,
"white"
,false
,null,0
].filter
(boolean)
;//["blue", 9, true, "white"]
隨機取陣列項
[1,
2,3,
4][math.
floor
(math.
random()
*4)]
// 4可由arr.length取到
Puppet的一些奇技淫巧
puppet這個工具真的很神奇,先不說商業版有哪些黑科技,單是開源版本就有很多可能讓你摸不著頭腦的地方,下面來列舉一下puppet是怎麼查詢puppet server的 其實很簡單,puppet agent只要知道puppet是什麼就可以了,你可以將 puppet 寫在 etc hosts裡,比如 ...
JS 奇技淫巧 隨時補充
1.在判斷typeof x undefined 時,可以採用typeof x t 代替,比較乙個字母比逐字比較更快.2.if x 最簡單的if語句,如果x存在則給a賦值,可用x a 0 代替,處理關係運算子比條件運算子更快.3.for迴圈,i 比i 更快.4.變數轉換的快速方法 var myvar ...
一些談話的技巧 絕非奇技淫巧
要是你以為單憑熟練的技能和辛勤的工作就能在職場上出人頭地,那你就有點無知了。當然,才幹加上超時加班固然很重要,但懂得在關鍵時刻說適當的話,那也是成功與否的決定性因素。卓越的說話技巧,譬如討好重要人,更能讓你名利雙收。牢記以下十個句型,並在適當時刻派上用場,加薪與公升職必然離你不遠。雖然公升職,加薪是...