成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript數(shù)據(jù)結(jié)構(gòu)與算法——數(shù)組

codeKK / 3330人閱讀

摘要:數(shù)據(jù)結(jié)構(gòu)的分類數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合和該集合中數(shù)據(jù)元素之間的關(guān)系組成。數(shù)據(jù)一般存儲(chǔ)著一系列數(shù)據(jù)類型相同的值,但在中,可以在數(shù)組中保存不同類型的值,但一般不需要這么用。

數(shù)據(jù)結(jié)構(gòu)的分類

數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合和該集合中數(shù)據(jù)元素之間的關(guān)系組成 。
常用的數(shù)據(jù)結(jié)構(gòu)有:數(shù)組,棧,鏈表,隊(duì)列,樹,圖,堆,散列表等,如圖所示:

數(shù)組
數(shù)組是最簡(jiǎn)單的內(nèi)存數(shù)據(jù)結(jié)構(gòu),數(shù)組是可以再內(nèi)存中連續(xù)存儲(chǔ)多個(gè)元素的結(jié)構(gòu),在內(nèi)存中的分配也是連續(xù)的,數(shù)組中的元素通過數(shù)組下標(biāo)進(jìn)行訪問,數(shù)組下標(biāo)從0開始。
tips:數(shù)據(jù)一般存儲(chǔ)著一系列數(shù)據(jù)類型相同的值,但在JavaScript中,可以在數(shù)組中保存不同類型的值,但一般不需要這么用。

1.創(chuàng)建數(shù)組

let daysOfWeek = new Array();
let daysOfWeek = new Array(7);
let daysOfWeek = new Array("1", "2", "3", "4", "5", "6", "7");

2.添加元素

// 初始化nums數(shù)組
let nums = [0,1,2,3,4,5,6];
// 指定位置添加
nums[nums.length] = 7;
// 使用push(),把元素添加到數(shù)組末尾
nums.push(8);// 0...8
nums.push(9, 10);// 0...10
// 使用unshift,把元素添加到數(shù)組首位
nums.unshift(-1);// -1...10
nums.unshift(-3,-2);// -3...10

3.刪除元素

// pop(),刪除最后一個(gè)
nums.pop();//-3...9
// shift(),刪除第一個(gè)
nums.shift();//-2...9

4.任何位置刪除或添加元素

// splice()方法
nums.splice(2, 3);// 刪除 index=2 開始的后的3個(gè)數(shù) -2,-1,3...9
nums.splice(2, 0, 0, 1, 2);// 從index=2開始插入0,1,2  -2...9

5.javascript數(shù)組方法參考

concat()  // 連接2個(gè)或多個(gè)數(shù)組,并返回結(jié)果
every()  // 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)每一項(xiàng)都返回true,則返回true
filter()  // 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)能返回true的項(xiàng)作為新數(shù)組
forEach()  // 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),沒有返回值
join()  // 按傳入的字符連接成一個(gè)字符串
indexOf()  // 從前往后遍歷,返回第一個(gè)與傳入?yún)?shù)相等的索引值,沒找到返回-1
lastIndexOf()  // 從后往前遍歷,返回第一個(gè)與傳入?yún)?shù)相等的索引值
map()  // 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成新的數(shù)組
reverse()  // 顛倒數(shù)組中元素的順序
slice()  // 傳入索引值,將數(shù)組對(duì)應(yīng)索引值范圍內(nèi)的元素作為新數(shù)組返回  
some()  // 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果某一項(xiàng)返回true,則返回true
sort()  // 按照字母順序排序,支持傳入指定排序方法的函數(shù)作為參數(shù)
toString()  // 將數(shù)組作為字符串返回
valueOf()  // 和toString類似,將數(shù)組作為字符串返回

6.ES6數(shù)組新增方法

@@iterator  // 返回一個(gè)包含數(shù)組鍵值對(duì)的迭代器對(duì)象,可通過同步調(diào)用得到數(shù)組元素的鍵值對(duì)
copyWithin()  // 復(fù)制數(shù)組中一系列元素,到該數(shù)組指定的起始位置
entries()  // 返回包含數(shù)組所有鍵值對(duì)的@@iterator
includes()  // 數(shù)組中存在某個(gè)元素則返回true,否則返回false(es7新增)
find()  // 根據(jù)回調(diào)函數(shù)給定的條件從數(shù)組中查找元素,如果找到則返回該元素
findIndex()  // 根據(jù)回調(diào)函數(shù)給定的條件從數(shù)組中查找元素,如果能找到就返回該元素在數(shù)組中的索引
fill()  // 用傳入?yún)?shù)填充數(shù)組
from()  // 根據(jù)已有數(shù)組創(chuàng)建一個(gè)新數(shù)組
keys()  // 返回包含數(shù)組所有索引的@@iterator
of()  // 根據(jù)傳入的參數(shù)創(chuàng)建一個(gè)新數(shù)組
values()  // 返回包含數(shù)組中所有值的@@iterator

7.數(shù)組優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
(1)按照索引查詢?cè)厮俣瓤?
(2)按照索引遍歷數(shù)組方便

缺點(diǎn):
(1)數(shù)組的大小固定后就無法擴(kuò)容了
(2)數(shù)組只能存儲(chǔ)一種類型的數(shù)據(jù)
(3)添加,刪除的操作慢,因?yàn)橐苿?dòng)其他的元素。

適用場(chǎng)景:
頻繁查詢,對(duì)存儲(chǔ)空間要求不大,很少增加和刪除的情況。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101631.html

相關(guān)文章

  • CSS技巧 - 收藏集 - 掘金

    摘要:筆者作為一位,將工作以來用到的各種優(yōu)秀資料神器及框架整理在此,畢竟好記性不如爛鍵盤,此前端知識(shí)點(diǎn)大百科全書前端掘金,,不定期更新技巧前端掘金技巧,偶爾更新。計(jì)算數(shù)組的極值技巧使你的更加專業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。 CSS 樣式畫各種圖形 - 前端 - 掘金下面是一些我在 CSS 中經(jīng)常用到的圖案,還有一些是在css-tricks看到的。記錄一下,以后會(huì)用到。會(huì)持續(xù)更新… 一、...

    Jonathan Shieber 評(píng)論0 收藏0
  • CSS技巧 - 收藏集 - 掘金

    摘要:筆者作為一位,將工作以來用到的各種優(yōu)秀資料神器及框架整理在此,畢竟好記性不如爛鍵盤,此前端知識(shí)點(diǎn)大百科全書前端掘金,,不定期更新技巧前端掘金技巧,偶爾更新。計(jì)算數(shù)組的極值技巧使你的更加專業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。 CSS 樣式畫各種圖形 - 前端 - 掘金下面是一些我在 CSS 中經(jīng)常用到的圖案,還有一些是在css-tricks看到的。記錄一下,以后會(huì)用到。會(huì)持續(xù)更新… 一、...

    SHERlocked93 評(píng)論0 收藏0
  • 學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)算法(三):集合

    摘要:至于這三個(gè)的具體概念,可以看圖中集合的實(shí)現(xiàn)首先,創(chuàng)建一個(gè)構(gòu)造函數(shù)。前端路漫漫,且行且歌的前端樂園原文鏈接寒假前端學(xué)習(xí)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法三集合 本系列的第一篇文章: 學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(一),棧與隊(duì)列第二篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(二):鏈表第三篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(三):集合第四篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與...

    BDEEFE 評(píng)論0 收藏0
  • JavaScript中的算法(附10道面試常見算法題解決方法和思路)

    摘要:中的算法附道面試常見算法題解決方法和思路關(guān)注每日一道面試題詳解面試過程通常從最初的電話面試開始,然后是現(xiàn)場(chǎng)面試,檢查編程技能和文化契合度。值得記住的數(shù)組方法有和。一個(gè)好的解決方案是使用內(nèi)置的方法。 JavaScript中的算法(附10道面試常見算法題解決方法和思路) 關(guān)注github每日一道面試題詳解 Introduction 面試過程通常從最初的電話面試開始,然后是現(xiàn)場(chǎng)面試,檢查編程...

    Cruise_Chan 評(píng)論0 收藏0
  • Deep in JS - 收藏集 - 掘金

    摘要:今天同學(xué)去面試,做了兩道面試題全部做錯(cuò)了,發(fā)過來給道典型的面試題前端掘金在界中,開發(fā)人員的需求量一直居高不下。 排序算法 -- JavaScript 標(biāo)準(zhǔn)參考教程(alpha) - 前端 - 掘金來自《JavaScript 標(biāo)準(zhǔn)參考教程(alpha)》,by 阮一峰 目錄 冒泡排序 簡(jiǎn)介 算法實(shí)現(xiàn) 選擇排序 簡(jiǎn)介 算法實(shí)現(xiàn) ... 圖例詳解那道 setTimeout 與循環(huán)閉包的經(jīng)典面...

    enali 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<