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

資訊專欄INFORMATION COLUMN

聊聊在javascript中數(shù)組的使用

zone / 558人閱讀

摘要:在中,數(shù)組里可以容納容納中任何類型的值。方法大全在中數(shù)組是可修改的對(duì)象,每個(gè)數(shù)組都有著很多好用的方法,大多數(shù)我們?nèi)粘6紩?huì)常用。把元素添加到數(shù)組的頭部。利用使用下標(biāo)進(jìn)行操作。對(duì)當(dāng)前數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù)返回函數(shù)結(jié)果為的項(xiàng)組成的數(shù)組。

雜談

????數(shù)組是最簡(jiǎn)單的內(nèi)存數(shù)據(jù)結(jié)構(gòu),也是js中最常用的類型之一,整理了下我覺(jué)得應(yīng)該了解數(shù)組的相關(guān)知識(shí)。

在js中,數(shù)組里可以容納容納js中任何類型的值。

在聲明數(shù)組后就可以向數(shù)組中插入值,不需要設(shè)定什么。

數(shù)組的大小是動(dòng)態(tài)的,可以根據(jù)數(shù)據(jù)的增加而自動(dòng)增長(zhǎng)。

js只支持一維數(shù)組,并不支持矩陣(二維數(shù)組)。但是,我們可以通過(guò)數(shù)組嵌套,實(shí)現(xiàn)矩陣或任意多維數(shù)組。

數(shù)組的項(xiàng)數(shù)就保存在它的length屬性中,這個(gè)屬性的值始終會(huì)大于等于0,并且length屬性并不是只讀屬性,通過(guò)使用length可以對(duì)數(shù)組進(jìn)行修改操作。

判斷一個(gè)對(duì)象是不是數(shù)組,Array.isArray( ) ES5新增

方法大全

在js中數(shù)組是可修改的對(duì)象,每個(gè)數(shù)組都有著很多好用的方法,大多數(shù)我們?nèi)粘6紩?huì)常用。
1.創(chuàng)建數(shù)組

使用Array的構(gòu)造函數(shù) new Array( )
new操作符可以省略

    let newArr = new Array()

數(shù)組字面量表示法
由[]表示,內(nèi)含數(shù)組項(xiàng)

    let newArr = []

2.添加元素

push() 把元素添加到數(shù)組的末尾。

unshift() 把元素添加到數(shù)組的頭部。

splice() 向/從數(shù)組中添加/刪除項(xiàng)目,然后返回。

利用length 使用下標(biāo) 進(jìn)行操作。

3.刪除元素

delete操作符、下標(biāo) 不改變數(shù)組長(zhǎng)度只會(huì)把下標(biāo)記值置為undefined。

splice() 向/從數(shù)組中添加/刪除項(xiàng)目,然后返回 同上添加。

4.其它常用方法

concat() 連接多個(gè)數(shù)組并且將結(jié)果返回為一個(gè)新的數(shù)組。

forEach() 對(duì)當(dāng)前數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù)。

indexOf() 返回第一個(gè)與給定參數(shù)相等結(jié)果的數(shù)組元素的索引,如果沒(méi)有找到則返回結(jié)果是 -1。

map() 對(duì)當(dāng)前數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。

every() 對(duì)當(dāng)前數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),如果函數(shù)每一項(xiàng)返回的都是ture,則返回true。

filter() 對(duì)當(dāng)前數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),返回函數(shù)結(jié)果為true的項(xiàng)組成的數(shù)組。

join() 將數(shù)組中所有的元素拼接成一個(gè)新的字符串。

lastIndexOf() 返回在數(shù)組中搜索到的與給定參數(shù)相等的元素結(jié)果里的索引最大的值。

reverse() 顛倒數(shù)組中元素的順序,原先第一個(gè)執(zhí)行后會(huì)成為最后一個(gè)。

let newArr = [1, "a", 2, "b"];
console.log(newArr.join(";"));
newArr.forEach(function(item, index) {
  console.log("item: "+ item + " " + "index: " + index);
})
console.log(newArr.indexOf("a"));
let strArr = newArr.filter(function(item) {
  if(typeof(item) === "string") {
    return true;
  }
})
console.log(strArr);
console.log(strArr.reverse());

使用字符串的方法str.split() 可以返回字符串轉(zhuǎn)化為數(shù)組的結(jié)果。

結(jié)尾

js數(shù)組也可以表現(xiàn)的像棧和隊(duì)列一樣的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)相應(yīng)的行為,感興趣的可以去研究下。

棧和隊(duì)列簡(jiǎn)介
????棧是一種遵從后進(jìn)先出 (LIFO) 原則的有序集合。新添加的或待刪除的元素都保存在棧的 末尾,稱作棧頂,另一端就叫棧底。在棧里,新元素都靠近棧頂,舊元素都接近棧底。
隊(duì)列是遵循FIFO (First In First Out,先進(jìn)先出,也稱為先來(lái)先服務(wù)) 原則的一組有序的項(xiàng)。 隊(duì)列在尾部添加新元素,并從頂部移除元素。最新添加的元素必須排在隊(duì)列的末尾。

參考資料:
????js高級(jí)程序設(shè)計(jì) js數(shù)據(jù)結(jié)構(gòu)與算法

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

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

相關(guān)文章

  • 聊聊javascript數(shù)組

    摘要:數(shù)組定義數(shù)組數(shù)組名稱元素元素定義空數(shù)組前端定義數(shù)組同時(shí)添加不同類型的元素構(gòu)造函數(shù)方式數(shù)組名稱元素,元素?cái)?shù)組名稱類型,表示數(shù)組的長(zhǎng)度存在元素的個(gè)數(shù)用創(chuàng)造出一個(gè)空數(shù)組的構(gòu)造函數(shù)前端用創(chuàng)造一個(gè)空數(shù)組的構(gòu)造函數(shù)并添加元素函數(shù)方式定義數(shù)組名稱元素,元 數(shù)組 定義數(shù)組 1.var 數(shù)組名稱 = [元素1,元素2,...]; var arr=[];//定義空數(shù)組 var arr1=[100,前端,t...

    Towers 評(píng)論0 收藏0
  • 聊聊jQuery反模式

    摘要:如果我們認(rèn)為模式代表一個(gè)最佳的實(shí)踐,那么反模式將代表我們已經(jīng)學(xué)到一個(gè)教訓(xùn)。受啟發(fā)于的設(shè)計(jì)模式,在年的月的報(bào)告大會(huì)上首次提出反模式。參考鏈接反模式學(xué)用設(shè)計(jì)模式極客學(xué)院 如果我們認(rèn)為模式代表一個(gè)最佳的實(shí)踐,那么反模式將代表我們已經(jīng)學(xué)到一個(gè)教訓(xùn)。受啟發(fā)于Gof的《設(shè)計(jì)模式》,Andrew Koeing在1995年的11月的C++報(bào)告大會(huì)上首次提出反模式。在Koeing的報(bào)告中,反模式有著兩...

    CoderStudy 評(píng)論0 收藏0
  • 聊聊 Array

    摘要:原文翻譯瘋狂的技術(shù)宅本文首發(fā)微信公眾號(hào)歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章類型檢測(cè)假設(shè)是一個(gè)數(shù)組,我們想要實(shí)現(xiàn)一些功能。將為數(shù)組返回,即使它們是在另一個(gè)中創(chuàng)建的。本文首發(fā)微信公眾號(hào)歡迎關(guān)注,每天都給你推送新鮮的前端技術(shù)文章 原文:https://jakearchibald.com/201...翻譯:瘋狂的技術(shù)宅 本文首發(fā)微信公眾號(hào):jingchengyideng歡迎關(guān)注,每天都...

    songze 評(píng)論0 收藏0
  • 聊聊柯里化

    摘要:舉個(gè)例子,如果我們實(shí)現(xiàn)一個(gè)三個(gè)數(shù)的加法函數(shù),需要這么實(shí)現(xiàn)如果我們將其柯里化變換成接受一個(gè)單一參數(shù)的函數(shù),并且返回接受余下的參數(shù)而且返回結(jié)果的新函數(shù),我們的調(diào)用方式應(yīng)該是這樣的。 僅以此文獻(xiàn)給我的學(xué)弟 誅諾_彌 ,并將逐風(fēng)者的祝福送給他:英雄,愿你有一份無(wú)悔的愛(ài)情! 什么是柯里化 維基百科中有如下定義: 在計(jì)算機(jī)科學(xué)中,柯里化(英語(yǔ):Currying),是把接受多個(gè)參數(shù)的函數(shù)變換成接受一...

    yankeys 評(píng)論0 收藏0
  • 聊聊ES7與ES8特性

    摘要:我曾寫過(guò)一篇關(guān)于博客個(gè)最佳特性,這次我打算聊聊和特性。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,得到了金山軟件百姓網(wǎng)等眾多知名用戶的認(rèn)可。 譯者按: 轉(zhuǎn)眼ES6發(fā)布2年了,是時(shí)候了解一下ES7與ES8特性了! 原文: ES7 and ES8 Features 譯者: Fundebug 為了保證可讀性,本文采用意譯而非直譯,并且對(duì)源代碼進(jìn)行了大量修改。另外,本文版權(quán)歸原作者所有...

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

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

0條評(píng)論

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