国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

那些年,前端學習之路的疑難雜癥(三):數組和Date的一些梳理

xeblog / 2294人閱讀

摘要:將指定的數字索引值轉換成字符串索引值變成,然后將其作為屬性名來用。返回一個由刪除元素組成的數組。該方法返回的數組元素是調用的數組的一個子集。使用的函數有四個參數初始值積累值數組元素元素索引數組本身。

前言

很多人在學習原生JS的過程中會遇到一些疑惑,比如在學習array時,就很容易搞不清哪些方法會改變原來數組,哪些方法不會改變原來數組?再比如很多人會使用new Date()獲取時間,卻搞不清楚1970年是什么鬼。這篇文章就是針對諸如此類問題的總結。如果你有這方面的疑惑,千萬不要錯過這篇文章哦~

正文 一:數組

1.JS 數組特點(重點知識)
(1)數組元素可以是任意類型的,并且同一個數組的不同元素也可能是不同的類型

(2)數組是動態的:根據需要它們會增長或者縮減,并且在創建時無需聲明一個固定大小或者在數組大小變化時無需重新分配空間

(3)數組元素的索引不一定要連續的,它們之間可以有空缺。如果省略數組直接量中的某個值,省略的元素在數組中是存在的,省略的元素將被賦予undefined值

(4)JS數組就是JS對象的特殊形式,數組索引實際上和碰巧是整數的屬性名差不多。JS將指定的數字索引值轉換成字符串——索引值1變成“1”,然后將其作為屬性名來用。所有的數組都是對象,可以為其創建任意名字的屬性。但是如果使用的屬性是數組的索引,數組的特殊行為就是根據需要更新它們的length屬性值。

注意事項
1)區分數組的索引和對象的屬性名
所有的索引都是屬性名,但只有0——2^32-2的整數屬性名才是索引。
2)稀疏數組
稀疏數組就是包含從0開始的不連續索引的數組。如果數組是稀疏的,length屬性值大于元素的個數。
3)數組長度
如果為一個數組元素賦值,它的索引i大于或者等于現有數組的長度時,length的屬性將設置為i+1
設置length屬性為一個小于當前長度的非負整數n時,當前數組中那些索引值大于或等于n的元素將從中刪除
4)delete
delete可以用來刪除一個數組元素,這類似于隱式給數組元素賦值undefined,不會修改數組的length屬性

2.數組方法
不改變原數組:join(有返回)concat(有返回) sort(有返回) toString(有返回)
改變原數組的:reverse sort(有返回) splice(有返回)pop push shift unshift

(1)join
將數組中的所有元素轉化為字符串并連接在一起,返回最后生成的字符串。
(2)reverse
將數組中的元素顛倒順序,返回逆序數組。它不通過重新排列的元素來創建新的數組,而是在原來的數組中重新排列了它們。
(3)sort
將數組中的元素排序后并返回排序后的數組。如果數組中包含undefined,它們會被排到數組的尾部。
(4)concat
創建并返回一個新數組,它的元素包含調用concat()的原來數組的元素和concat()的每個參數。
(5)slice
該方法返回指定數組的一個片段或子數組。
(6)splice
在數組中插入或者刪除元素的通用方法。splice()會修改調用的數組。splice()返回一個由刪除元素組成的數組。
(7)push() pop() shift() unshift()都會改變數組
(8)toString() toLocalString()
toString()方法將每個元素轉換為字符串,并且輸出用逗號分隔的字符串列表。注意輸出不包括方括號或其他形式的包裹數組值的分隔符

3.ECMAScript中新的數組方法
改變原來數組的只有:forEach(無返回)

(1)forEach
該方法從頭到尾遍歷數組,為每個元素調用指定的函數。
(2)map
該方法將調用的數組的每個元素傳遞給指定的函數,并且返回一個數組,它包含該函數的返回值。map返回的是新數組:它不修改調用的數組。
(3)filter
該方法返回的數組元素是調用的數組的一個子集。傳遞的函數是來邏輯判斷的:該函數返回true或false。如果返回值為true或者能夠轉換為true的值,它將被加到一個作為返回值的數組中。
(4)every和some
every方法當且僅當針對數組中的所有元素調用判定函數都返回true時,才返回true.
some方法當數組中至少有一個元素調用判定函數返回true,它就返回true.并且當且僅當數值中的所有元素調用判定函數都返回false,它才返回false
(5)reduce和reduceRight
reduce和reduceRight方法使用指定的函數將數組元素進行組合,生成單個值。reduce需要兩個參數:一個是執行簡化的函數,另一個是傳遞給函數的初始值。reduce使用的函數有四個參數:初始值/積累值、數組元素、元素索引、數組本身。
(6)indexOf()和lastIndexOf()
indexOf()和lastIndexOf()搜索整個數組中具有給定值的元素,返回找到的第一個元素的索引或者如果沒有找到就返回-1.indexOf從頭至尾搜索,而lastIndexOf則反向搜索。

總結:
能改變原來數組的有:

sort() reverse() splice() forEach() pop push shift unshift

附:關于數組與類數組的區別,請參考這里:JS類數組

二:Date

詳情參考:https://segmentfault.com/a/11...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86837.html

相關文章

  • 那些前端學習之路疑難雜癥(二):delete使用介紹

    摘要:如果你想讓一個數組元素的值變為而不是刪除它,可以使用給其賦值而不是使用操作符。此時數組元素是在數組中的操作符與直接釋放內存只能通過解除引用來間接釋放沒有關系。 delete 操作符用來刪除一個對象的屬性 語法EDIT delete expression expression 應該是一個對象的屬性引用,例如: delete object.property delete object[p...

    tainzhi 評論0 收藏0
  • 那些前端學習之路疑難雜癥(四):面試中遇到3個問題概覽

    摘要:閉包能用來實現私有化和創建工廠函數等作用。關于閉包的常見面試題是這樣的寫一個函數,循環一個整數數組,延遲秒打印這個數組中每個元素的索引。 文章來源:http://mp.weixin.qq.com/s/vs0... 前言 在公眾號上看到了這篇文章,覺得很有用,有助于理解JS學習中的一些重點難點。決定把它整理下發布出來。該文章主要介紹了JS中的三個問題。在以后的幾篇文章里,我會詳細介紹這三...

    gecko23 評論0 收藏0
  • 那些前端學習之路疑難雜癥(一):嚴格模式與非嚴格模式

    摘要:反之亦然非嚴格合并嚴格看起來是非嚴格的。在普通的里面給一個拼寫錯誤的變量名賦值會使全局對象新增一個屬性并繼續工作盡管后面可能出錯在現在的中有可能。第三嚴格模式禁止刪除聲明變量。 文章整理自MSDN:https://developer.mozilla.org... 1.逐步使用嚴格模式 ECMAScript 5的嚴格模式是JavaScript中的一種限制性更強的變種方式。嚴格模式不是一個...

    zombieda 評論0 收藏0
  • 前端開發-從入門到Offer - 收藏集 - 掘金

    摘要:一些知識點有哪些方法方法前端從入門菜鳥到實踐老司機所需要的資料與指南合集前端掘金前端從入門菜鳥到實踐老司機所需要的資料與指南合集歸屬于筆者的前端入門與最佳實踐。 工欲善其事必先利其器-前端實習簡歷篇 - 掘金 有幸認識很多在大廠工作的學長,在春招正式開始前為我提供很多內部推薦的機會,非常感謝他們對我的幫助。現在就要去北京了,對第一份正式的實習工作也充滿期待,也希望把自己遇到的一些問題和...

    sf_wangchong 評論0 收藏0
  • 告別CTO,體驗創業維艱

    摘要:加入維權騎士團隊,擔任技術負責人,俗稱。三創業榜單年月,在維權騎士正好呆滿一整年。因為自己的一些考慮,我選擇出來創業,創業的項目叫榜單。年開發管理經驗,龍泉寺信息技術組義工,前維權騎士技術負責人。持續創業者,目前在做榜單創業 一、當CTO 2016年3月,我離開北京華夏基金,來到杭州。加入維權騎士團隊,擔任技術負責人,俗稱CTO。 誠惶誠恐,最開始的時候很害怕別人稱呼自己CTO。...

    MorePainMoreGain 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<