數據結構與JS也能夠成爲CP(一)數組

Hello小夥伴們,通過了最近的一些介紹,咱們今天又返回了JS,爲何呢?咱們主要是對數據結構進行一下介紹,不少小夥伴認爲對於前端來講數據結構不重要,曾經的我也是這麼認爲,甚至以爲面試官面試數據結構就是畫蛇添足,可是在後面的搬磚過程當中發現,本身真的錯了。對於前端寶寶們來講,最熟悉的語言就是JS了,並且leetcode也是支持JS的,因此今天兔妞就和你們一塊兒看看數據結構與JS的CP會擦出什麼樣的火花吧~前端

基本編程模塊回顧面試

想要開始數據結構之旅,咱們首先要保證本身編程模塊還記得很熟練。先讓咱們回憶一下這些模塊吧~編程

1)聲明和初始化變量數組

var rabbitNum;微信


2)算術運算數據結構

運算符:+ - * / % (還記得都怎麼用嗎函數

函數:Math.sqrt(), Math.abs()spa


3)判斷結構.net

if(){code

...

} else{

...

}


switch(){

case "1":

...

break;

...

}


4)循環結構

while(){

...

}


for(){

...

}


5)函數

function rabbitFamily(){

...

}


6) 遞歸:簡單些說就是設置一個終止條件,在沒達到條件以前反覆本身調用本身。

function findRabbit(index){

    if(index == 6){

        return index;

    }else{

        return findRabbit(index+1);

    }

}

findRabbit(1);


數據結構的開端——數組

複習好了,咱們就開始第一個結構數組吧,其實咱們以前也聊過數組了,就也權當複習一下吧~

1)建立數組

var rabbits=[];

var rabbits=['rabbit1', 'rabbit2', 'rabbit3'];

var rabbits = new Array();

var rabbits = new Array('rabbit1', 'rabbit2', 'rabbit3');

var rabbits = new Array(10);

2) 讀寫數組

對於數組最多的操做,兔妞以爲就是遍歷數組了。

for(var i=0; i<arr.length; i++){

    console.log(arr[i]);

}

3) 字符串與數組的相互轉換

var rabbitFamily = "Rabbit father rabbit mother and rabbit baby";

var arr = rabbitFamily.split(" ");

console.log(arr); //['Rabbit', 'father', 'rabbit', 'mother', 'and', 'rabbit', 'baby'

var newRabbitFamily = arr.join(" ");

console.log(newRabbitFamily); // "Rabbit father rabbit mother and rabbit baby"

4)數組的操做

鏈接數組:arr1.concat(arr2);

截取數組:arr1.splice(3,3);

添加元素(尾):arr.push(1);

添加元素(頭):arr.unshift(0);

刪除元素(尾):arr.pop();

刪除元素(頭):arr.shift();

數組排序(順序):arr.sort();

數組排序(倒序):arr.reverse();

5)迭代器方法:什麼叫迭代器方法呢?就是會對數組中每一個元素應用一次函數,而後返回一個新的數值、數組等。

forEach():接受一個函數做爲參數,並對數組中每一個元素使用這個函數

every():接受一個返回值類型爲布爾的函數,對每一個元素使用此函數,全部結果均爲true則爲true

some():相似於every(),數組中所返回的結果有一個爲true,some即爲true

reduce():該方法會從一個累加值開始,不斷對累加值和 數組中的後續元素調用該函數,直到數組中的最後一個元素,最後返回獲得的累加值。

map():接受一個函數做爲參數,並對數組中每一個元素使用這個函數,可是返回的是一個數組

filter():filter() 和 every() 相似,傳入一個返回值爲布爾類型的函數。和 every() 方法不一樣的是, 當對數組中的全部元素應用該函數,結果均爲 true 時,該方法並不返回 true,而是返回 一個新數組,該數組包含應用該函數後結果爲 true 的元素


好啦,今天的內容就到這裏啦,喜歡兔妞的文章就請關注+在看吧~~

本文分享自微信公衆號 - 萌兔it(mengtu_it)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索