摘要:將指定的數(shù)字索引值轉(zhuǎn)換成字符串索引值變成,然后將其作為屬性名來(lái)用。返回一個(gè)由刪除元素組成的數(shù)組。該方法返回的數(shù)組元素是調(diào)用的數(shù)組的一個(gè)子集。使用的函數(shù)有四個(gè)參數(shù)初始值積累值數(shù)組元素元素索引數(shù)組本身。
前言
很多人在學(xué)習(xí)原生JS的過(guò)程中會(huì)遇到一些疑惑,比如在學(xué)習(xí)array時(shí),就很容易搞不清哪些方法會(huì)改變?cè)瓉?lái)數(shù)組,哪些方法不會(huì)改變?cè)瓉?lái)數(shù)組?再比如很多人會(huì)使用new Date()獲取時(shí)間,卻搞不清楚1970年是什么鬼。這篇文章就是針對(duì)諸如此類問(wèn)題的總結(jié)。如果你有這方面的疑惑,千萬(wàn)不要錯(cuò)過(guò)這篇文章哦~
正文 一:數(shù)組1.JS 數(shù)組特點(diǎn)(重點(diǎn)知識(shí))
(1)數(shù)組元素可以是任意類型的,并且同一個(gè)數(shù)組的不同元素也可能是不同的類型
(2)數(shù)組是動(dòng)態(tài)的:根據(jù)需要它們會(huì)增長(zhǎng)或者縮減,并且在創(chuàng)建時(shí)無(wú)需聲明一個(gè)固定大小或者在數(shù)組大小變化時(shí)無(wú)需重新分配空間
(3)數(shù)組元素的索引不一定要連續(xù)的,它們之間可以有空缺。如果省略數(shù)組直接量中的某個(gè)值,省略的元素在數(shù)組中是存在的,省略的元素將被賦予undefined值
(4)JS數(shù)組就是JS對(duì)象的特殊形式,數(shù)組索引實(shí)際上和碰巧是整數(shù)的屬性名差不多。JS將指定的數(shù)字索引值轉(zhuǎn)換成字符串——索引值1變成“1”,然后將其作為屬性名來(lái)用。所有的數(shù)組都是對(duì)象,可以為其創(chuàng)建任意名字的屬性。但是如果使用的屬性是數(shù)組的索引,數(shù)組的特殊行為就是根據(jù)需要更新它們的length屬性值。
注意事項(xiàng):
1)區(qū)分?jǐn)?shù)組的索引和對(duì)象的屬性名
所有的索引都是屬性名,但只有0——2^32-2的整數(shù)屬性名才是索引。
2)稀疏數(shù)組
稀疏數(shù)組就是包含從0開(kāi)始的不連續(xù)索引的數(shù)組。如果數(shù)組是稀疏的,length屬性值大于元素的個(gè)數(shù)。
3)數(shù)組長(zhǎng)度
如果為一個(gè)數(shù)組元素賦值,它的索引i大于或者等于現(xiàn)有數(shù)組的長(zhǎng)度時(shí),length的屬性將設(shè)置為i+1
設(shè)置length屬性為一個(gè)小于當(dāng)前長(zhǎng)度的非負(fù)整數(shù)n時(shí),當(dāng)前數(shù)組中那些索引值大于或等于n的元素將從中刪除
4)delete
delete可以用來(lái)刪除一個(gè)數(shù)組元素,這類似于隱式給數(shù)組元素賦值undefined,不會(huì)修改數(shù)組的length屬性
2.數(shù)組方法
不改變?cè)瓟?shù)組:join(有返回)concat(有返回) sort(有返回) toString(有返回)
改變?cè)瓟?shù)組的:reverse sort(有返回) splice(有返回)pop push shift unshift
(1)join
將數(shù)組中的所有元素轉(zhuǎn)化為字符串并連接在一起,返回最后生成的字符串。
(2)reverse
將數(shù)組中的元素顛倒順序,返回逆序數(shù)組。它不通過(guò)重新排列的元素來(lái)創(chuàng)建新的數(shù)組,而是在原來(lái)的數(shù)組中重新排列了它們。
(3)sort
將數(shù)組中的元素排序后并返回排序后的數(shù)組。如果數(shù)組中包含undefined,它們會(huì)被排到數(shù)組的尾部。
(4)concat
創(chuàng)建并返回一個(gè)新數(shù)組,它的元素包含調(diào)用concat()的原來(lái)數(shù)組的元素和concat()的每個(gè)參數(shù)。
(5)slice
該方法返回指定數(shù)組的一個(gè)片段或子數(shù)組。
(6)splice
在數(shù)組中插入或者刪除元素的通用方法。splice()會(huì)修改調(diào)用的數(shù)組。splice()返回一個(gè)由刪除元素組成的數(shù)組。
(7)push() pop() shift() unshift()都會(huì)改變數(shù)組
(8)toString() toLocalString()
toString()方法將每個(gè)元素轉(zhuǎn)換為字符串,并且輸出用逗號(hào)分隔的字符串列表。注意輸出不包括方括號(hào)或其他形式的包裹數(shù)組值的分隔符
3.ECMAScript中新的數(shù)組方法
改變?cè)瓉?lái)數(shù)組的只有:forEach(無(wú)返回)
(1)forEach
該方法從頭到尾遍歷數(shù)組,為每個(gè)元素調(diào)用指定的函數(shù)。
(2)map
該方法將調(diào)用的數(shù)組的每個(gè)元素傳遞給指定的函數(shù),并且返回一個(gè)數(shù)組,它包含該函數(shù)的返回值。map返回的是新數(shù)組:它不修改調(diào)用的數(shù)組。
(3)filter
該方法返回的數(shù)組元素是調(diào)用的數(shù)組的一個(gè)子集。傳遞的函數(shù)是來(lái)邏輯判斷的:該函數(shù)返回true或false。如果返回值為true或者能夠轉(zhuǎn)換為true的值,它將被加到一個(gè)作為返回值的數(shù)組中。
(4)every和some
every方法當(dāng)且僅當(dāng)針對(duì)數(shù)組中的所有元素調(diào)用判定函數(shù)都返回true時(shí),才返回true.
some方法當(dāng)數(shù)組中至少有一個(gè)元素調(diào)用判定函數(shù)返回true,它就返回true.并且當(dāng)且僅當(dāng)數(shù)值中的所有元素調(diào)用判定函數(shù)都返回false,它才返回false
(5)reduce和reduceRight
reduce和reduceRight方法使用指定的函數(shù)將數(shù)組元素進(jìn)行組合,生成單個(gè)值。reduce需要兩個(gè)參數(shù):一個(gè)是執(zhí)行簡(jiǎn)化的函數(shù),另一個(gè)是傳遞給函數(shù)的初始值。reduce使用的函數(shù)有四個(gè)參數(shù):初始值/積累值、數(shù)組元素、元素索引、數(shù)組本身。
(6)indexOf()和lastIndexOf()
indexOf()和lastIndexOf()搜索整個(gè)數(shù)組中具有給定值的元素,返回找到的第一個(gè)元素的索引或者如果沒(méi)有找到就返回-1.indexOf從頭至尾搜索,而lastIndexOf則反向搜索。
總結(jié):
能改變?cè)瓉?lái)數(shù)組的有:
sort() reverse() splice() forEach() pop push shift unshift
附:關(guān)于數(shù)組與類數(shù)組的區(qū)別,請(qǐng)參考這里:JS類數(shù)組
二:Date詳情參考:https://segmentfault.com/a/11...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/86837.html
摘要:如果你想讓一個(gè)數(shù)組元素的值變?yōu)槎皇莿h除它,可以使用給其賦值而不是使用操作符。此時(shí)數(shù)組元素是在數(shù)組中的操作符與直接釋放內(nèi)存只能通過(guò)解除引用來(lái)間接釋放沒(méi)有關(guān)系。 delete 操作符用來(lái)刪除一個(gè)對(duì)象的屬性 語(yǔ)法EDIT delete expression expression 應(yīng)該是一個(gè)對(duì)象的屬性引用,例如: delete object.property delete object[p...
摘要:閉包能用來(lái)實(shí)現(xiàn)私有化和創(chuàng)建工廠函數(shù)等作用。關(guān)于閉包的常見(jiàn)面試題是這樣的寫(xiě)一個(gè)函數(shù),循環(huán)一個(gè)整數(shù)數(shù)組,延遲秒打印這個(gè)數(shù)組中每個(gè)元素的索引。 文章來(lái)源:http://mp.weixin.qq.com/s/vs0... 前言 在公眾號(hào)上看到了這篇文章,覺(jué)得很有用,有助于理解JS學(xué)習(xí)中的一些重點(diǎn)難點(diǎn)。決定把它整理下發(fā)布出來(lái)。該文章主要介紹了JS中的三個(gè)問(wèn)題。在以后的幾篇文章里,我會(huì)詳細(xì)介紹這三...
摘要:反之亦然非嚴(yán)格合并嚴(yán)格看起來(lái)是非嚴(yán)格的。在普通的里面給一個(gè)拼寫(xiě)錯(cuò)誤的變量名賦值會(huì)使全局對(duì)象新增一個(gè)屬性并繼續(xù)工作盡管后面可能出錯(cuò)在現(xiàn)在的中有可能。第三嚴(yán)格模式禁止刪除聲明變量。 文章整理自MSDN:https://developer.mozilla.org... 1.逐步使用嚴(yán)格模式 ECMAScript 5的嚴(yán)格模式是JavaScript中的一種限制性更強(qiáng)的變種方式。嚴(yán)格模式不是一個(gè)...
摘要:一些知識(shí)點(diǎn)有哪些方法方法前端從入門(mén)菜鳥(niǎo)到實(shí)踐老司機(jī)所需要的資料與指南合集前端掘金前端從入門(mén)菜鳥(niǎo)到實(shí)踐老司機(jī)所需要的資料與指南合集歸屬于筆者的前端入門(mén)與最佳實(shí)踐。 工欲善其事必先利其器-前端實(shí)習(xí)簡(jiǎn)歷篇 - 掘金 有幸認(rèn)識(shí)很多在大廠工作的學(xué)長(zhǎng),在春招正式開(kāi)始前為我提供很多內(nèi)部推薦的機(jī)會(huì),非常感謝他們對(duì)我的幫助?,F(xiàn)在就要去北京了,對(duì)第一份正式的實(shí)習(xí)工作也充滿期待,也希望把自己遇到的一些問(wèn)題和...
摘要:加入維權(quán)騎士團(tuán)隊(duì),擔(dān)任技術(shù)負(fù)責(zé)人,俗稱。三創(chuàng)業(yè)榜單年月,在維權(quán)騎士正好呆滿一整年。因?yàn)樽约旱囊恍┛紤],我選擇出來(lái)創(chuàng)業(yè),創(chuàng)業(yè)的項(xiàng)目叫榜單。年開(kāi)發(fā)管理經(jīng)驗(yàn),龍泉寺信息技術(shù)組義工,前維權(quán)騎士技術(shù)負(fù)責(zé)人。持續(xù)創(chuàng)業(yè)者,目前在做榜單創(chuàng)業(yè) 一、當(dāng)CTO 2016年3月,我離開(kāi)北京華夏基金,來(lái)到杭州。加入維權(quán)騎士團(tuán)隊(duì),擔(dān)任技術(shù)負(fù)責(zé)人,俗稱CTO。 誠(chéng)惶誠(chéng)恐,最開(kāi)始的時(shí)候很害怕別人稱呼自己CTO。...
閱讀 2342·2021-11-11 16:55
閱讀 3334·2021-10-11 10:58
閱讀 3295·2021-09-13 10:28
閱讀 4242·2021-07-26 23:57
閱讀 1220·2019-08-30 15:56
閱讀 1482·2019-08-29 13:15
閱讀 1411·2019-08-26 18:18
閱讀 1444·2019-08-26 13:44