在寫這篇的時候,想到剛出社會後半年有去面試一間很大的公司,那時候也是先考類似leet code的題目,讓我想到那時候雖然想得到要怎麼寫,
不過什麼method都要先去查查看他的名字,查到之後還要一邊閱讀document,慢慢在console試過才知道怎麼使用,幸好最後有通過online codeing,
只能說有規模的公司面試起來真的相對麻煩,考完試之後你的履歷和考試分數會寄給各team的leader,然後再由缺人的leader找你來面試,第一關HR面,面完會由team leader& memebres 一起面試,考考白板題,英文面,
最後結束再由HR做個結尾。
當準備要離開的時候,又突然說有其他team對我有興趣可不可以再面一次,
又是一樣的流程,心真的很累哈哈哈,之後就是等通知,
隔了兩天又問我說今天能不能在空出三小時,還有兩個team leader有興趣想要面試看看,那時候覺得自己好有價值,累也累得值得,
最後HR通知有三個team leader想要給我offer,問我對那幾個team有興趣的排序,之後就是等通知。
他們說team leader 會自己去協調,如果進去之後有想要轉team 或是想要做別的職位也可以,覺得在那裡練功成長,一定也是很不錯的,還是很後悔啊啊啊啊。
最後順利拿到offer,
拿到的薪水比當時多了40%,真不懂當時到底在想什麼,居然跟錢過不去XDD
不過也幸好留在原公司,讓我找到自己想做的事情,先從front-end開始,之後再慢慢補齊database再補齊back-end,最後變成一個全能的人吧!!
07 - Array Cardio Day 2
首次上傳:2020/10/03
主題
延續[[04 - Array Cardio Day 1]
步驟
練習範例內有提供了2組資料:
- people:[ { name: ‘string’, year: number } ]
- comments:[ text: ‘string’, id: number } ]
要練習的題目為:
- people是否有19歲以上的人
- People是否每個人都19歲以上
- 在comments中找到id是823423的資料
- 在comments中找到id是823423的資料索引值, 並透過索引值刪除這筆資料
JavaScript語法&備註
1. some()
題目:people是否有19歲以上的人?
解答:
1 | const isAdult = people.some(person => ((new Date()).getFullYear()) - person.year >= 19); |
透過some()
會將Array中的資料逐筆進行判斷,只要有一筆通過判斷則回傳true
並結束。
**2. every() **
題目:people是否每個人都19歲以上?
解答:
1 | const allAdults = people.every(person => ((new Date()).getFullYear()) - person.year >= 19); |
every()
會對Array中的每筆資料進行判斷,只要有一筆不符合則回傳false
並結束。
與some()
是相反操作的感覺。
**3. find() **
題目:在comments中找到id是823423的資料
解答:
1 | const comment = comments.find(comment => comment.id === 823423); |
find()
會對Array中的資料逐筆進行判斷,返回第一筆符合條件的值,
若都沒有符合的值,將返回undefined
。
4. findIndex() & slice() & spared
題目:在comments中找到id是823423的資料索引值, 並透過索引值刪除這筆資料
解答:
1 | const index = comments.findIndex(comment => comment.id === 823423); |
首先透過findIndex()
對Array中的資料逐筆進行判斷,返回符合條件的索引值,
接著利用spared
也就是省略符號...
來進行展開陣列並透過slice()
組合陣列, ...comments.slice(0, index),
這段先將陣列開頭到索引值前的資料加進來,...comments.slice(index + 1)
這段則是將索引值+1後延續到陣列結束的資料加進來。slice()
的第一個參數是陣列索引的起點,第二個是終點(且不會被使用)無填寫則是到結束。
參閱:
MDN-Array.prototype.findIndex()
MDN-Spread syntax
MDN-Array.prototype.slice()