摘要:數(shù)組也是對(duì)象數(shù)據(jù)類型的數(shù)組也有屬性名,只不過(guò)屬性名是數(shù)字,我們把數(shù)字屬性名稱之為它的索引數(shù)組是以數(shù)字作為索引,索引從零開始,有一個(gè)屬性代表數(shù)組的長(zhǎng)度。
Array
數(shù)組也是對(duì)象數(shù)據(jù)類型的 typeof [] ->"object"數(shù)組也有屬性名,只不過(guò)屬性名是數(shù)字,我們把數(shù)字屬性名稱之為它的索引:數(shù)組是以數(shù)字作為索引,索引從零開始,有一個(gè)length屬性代表數(shù)組的長(zhǎng)度。
類數(shù)組:類似于數(shù)組,但是不是數(shù)組
1、通過(guò)getElementsByTagName獲取的元素集合是類數(shù)組
2、函數(shù)中的實(shí)參集合arguments也是類數(shù)組
...
循環(huán)數(shù)組中的每一項(xiàng)
Array.prototype.aa = 100; //=>FOR循環(huán)操作 for (var i = 0; i < ary.length; i++) { console.log(arr[i]); } //=>FOR IN循環(huán)操作 for (var key in arr) { //key:屬性名(數(shù)組中的屬性名是索引) console.log(arr[key]); } //=>FOR循環(huán)只能遍歷到數(shù)組私有的一些屬性,而FOR IN循環(huán)可以把一些自定義的公共屬性也能遍歷到數(shù)組中的常用方法
數(shù)組中有很多常用方法 console.dir(Array.prototype)
1、方法的意義和作用
2、方法的形參
3、方法的返回值
4、通過(guò)此方法,原來(lái)的數(shù)組是否發(fā)生了改變
var ary = [12,23,34]; push/unshift //=>增加 /* * 1、push:向數(shù)組的末尾追加新內(nèi)容 * 參數(shù):一到多個(gè),任何數(shù)據(jù)類型都可以,想要給數(shù)組末尾追加什么,直接傳遞到push方法中即可,傳遞多個(gè)用逗號(hào)隔開 * 返回值:新增后數(shù)組的長(zhǎng)度 * 原有數(shù)組改變了 */ /* * 2、unshift:向數(shù)組開頭追加新內(nèi)容 * 參數(shù):需要追加的內(nèi)容(可以是多個(gè)任何數(shù)據(jù)類型的值) * 返回值:新增后數(shù)組的長(zhǎng)度 * 原來(lái)數(shù)組改變了 */ /* * 3、把數(shù)組當(dāng)做一個(gè)普通的對(duì)象,使用對(duì)象鍵值對(duì)的操作,給其設(shè)置新的屬性(索引) * arr[arr.length]=xxx 向數(shù)組的末尾追加了新的內(nèi)容 */ //=>刪除 /* * 1、pop:刪除數(shù)組最后一項(xiàng) * 參數(shù):無(wú) * 返回值:被刪除的那一項(xiàng)內(nèi)容 * 原有數(shù)組改變了 */ /* * 2、shift:刪除數(shù)組第一項(xiàng) * 參數(shù):無(wú) * 返回值:被刪除那一項(xiàng)的內(nèi)容 * 原有數(shù)組改變了 * 使用shift刪除第一項(xiàng)之后,后面每一項(xiàng)的索引都要向前進(jìn)一位(導(dǎo)致后面項(xiàng)的索引發(fā)生改變) */ /* * 3、把數(shù)組當(dāng)做普通的對(duì)象操作 * delete刪除:`delete ary[索引]`刪除指定索引這一項(xiàng)(當(dāng)前項(xiàng)被刪除后,原有數(shù)組其它項(xiàng)的索引不會(huì)改變;當(dāng)前數(shù)組的length也不會(huì)改變;) * * ary.length--:刪除數(shù)組最后一項(xiàng) */ //=>splice:數(shù)組中內(nèi)置的方法,可以實(shí)現(xiàn)數(shù)組的增加、修改、刪除 /* * splice實(shí)現(xiàn)刪除 * splice(n,m):從索引n開始刪除m個(gè)(m不寫是刪除到數(shù)組的末尾) * 返回值:被刪除的內(nèi)容(以一個(gè)新數(shù)組保存) * 原有數(shù)組改變了 * -> splice(0) 清空數(shù)組 * -> splice() 一項(xiàng)都不刪除,返回一個(gè)新的空數(shù)組 * -> splice(0,1) 刪除第一項(xiàng) * -> splice(ary.length-1) 刪除最后一項(xiàng) * * splice實(shí)現(xiàn)修改 * splice(n,m,x):在原有刪除的基礎(chǔ)上,用x代替刪除的內(nèi)容 * * splice實(shí)現(xiàn)增加 * splice(n,0,x):在修改的基礎(chǔ)上,我們一項(xiàng)都不刪除,把x插入到索引n的前面 * -> ary.splice(0,0,x) 向數(shù)組開頭追加新的內(nèi)容 * -> ary.splice(ary.length,0,x) 向數(shù)組末尾追加新元素 */數(shù)組的查詢
/* * slice:數(shù)組的查詢 * 參數(shù):slice(n,m) 從索引n開始找到索引為m處(不包含m) * 返回值:把找到的部分以一個(gè)新數(shù)組返回 * 原來(lái)的數(shù)組不變 * * -> slice(n) 從索引n開始找到末尾 * -> slice(0) / slice() 數(shù)組克隆,克隆一份和原來(lái)數(shù)組一模一樣的新數(shù)組 * -> slice支持負(fù)數(shù)索引,如果傳遞的索引為負(fù)數(shù),瀏覽器解析的時(shí)候是按照 總長(zhǎng)度+負(fù)數(shù)索引 來(lái)處理的 * ... */將兩個(gè)數(shù)組進(jìn)行拼接
/* * concat:將多個(gè)數(shù)組拼接在一起 * 參數(shù):要拼接的內(nèi)容(把內(nèi)容放在原數(shù)組的后面),可以是一個(gè)數(shù)組,也可以是一些數(shù)據(jù)值 * 返回:拼接后的新數(shù)組 * 原有數(shù)組不變 * * -> concat() 什么都沒(méi)有拼接,相當(dāng)于把原有數(shù)組克隆一份一模一樣的新數(shù)組出來(lái) */把數(shù)組轉(zhuǎn)換為字符串的
/* * 1、toString:實(shí)現(xiàn)把數(shù)組轉(zhuǎn)化為字符串(轉(zhuǎn)換后的字符串以逗號(hào)分隔每一項(xiàng)) * 參數(shù):無(wú) * 返回值:轉(zhuǎn)換的字符串 * 原有數(shù)組不變 */ /* * 2、join:把數(shù)組按照指定的分隔符轉(zhuǎn)換為字符串,和字符串中的split相對(duì)應(yīng) * 參數(shù):指定的鏈接符 * 返回值:轉(zhuǎn)換后的字符串 * 原有數(shù)組不變 */
//=>已知數(shù)組中的每一項(xiàng)都是數(shù)字,想實(shí)現(xiàn)數(shù)組求和,我們?nèi)绾螌?shí)現(xiàn)? //1、循環(huán)實(shí)現(xiàn) var total=null; for(var i=0;i實(shí)現(xiàn)數(shù)組中每一項(xiàng)的排序和排列evel:把字符串變?yōu)镴S表達(dá)式執(zhí)行
/* * 1、reverse:把數(shù)組中的每一項(xiàng)倒過(guò)來(lái)排列 * 參數(shù):無(wú) * 返回值:排序后的數(shù)組 * 原有數(shù)組改變 */ /* * 2、sort:實(shí)現(xiàn)數(shù)組的排序 * 參數(shù):無(wú)或者回調(diào)函數(shù) * 返回值:排序后的數(shù)組 * 原有數(shù)組改變 * * 不傳遞參數(shù)的情況下:可以給10以內(nèi)的數(shù)字進(jìn)行升序排列,但是超過(guò)10的就無(wú)法處理了(多位數(shù)只識(shí)別第一位) * * ary.sort(function(a,b){ * return a-b; //->升序 * return b-a; //->降序 * }); */驗(yàn)證數(shù)組中是否包含某一項(xiàng)
/* * indexOf / lastIndexOf:獲取當(dāng)前項(xiàng)在數(shù)組中第一次或者最后一次出現(xiàn)位置的索引 * 數(shù)組中的這兩個(gè)方法在IE6~8下不兼容 * 字符串中的這兩個(gè)方法兼容所有的瀏覽器 * * 如果當(dāng)前數(shù)組中并沒(méi)有這一項(xiàng),返回的索引是-1,我們根據(jù)這一點(diǎn)可以驗(yàn)證數(shù)組中是否包含這一項(xiàng) */ if(ary.indexOf(12)>-1){ //->數(shù)組中包含12 } Array.prototype.myIndexOf = function myIndexOf(value){ var result = -1; for(var i=0;i遍歷數(shù)組中每一項(xiàng)的方法 //=>以下方法在IE6~8下都不兼容 /* * forEach:遍歷數(shù)組中的每一項(xiàng) */ arr.forEach(function(value,index){ //=>數(shù)組中有多少項(xiàng),當(dāng)前回調(diào)函數(shù)執(zhí)行多少次;每一次傳遞進(jìn)來(lái)的value就是當(dāng)前遍歷數(shù)組這一項(xiàng)的值,index就是遍歷這一項(xiàng)的索引 }); /* * map:遍歷數(shù)組中的每一項(xiàng),在forEach的基礎(chǔ)上,可以修改每一項(xiàng)的值 */ arr.map(function(value,index){ //=>數(shù)組中有多少項(xiàng),當(dāng)前回調(diào)函數(shù)執(zhí)行多少次;每一次傳遞進(jìn)來(lái)的value就是當(dāng)前遍歷數(shù)組這一項(xiàng)的值,index就是遍歷這一項(xiàng)的索引 return xxx; //=>RETURN后面返回的結(jié)果就是把當(dāng)前遍歷的這一項(xiàng)修改為xxx }); filter find reduce every ...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93746.html
摘要:文章內(nèi)容來(lái)源廖雪峰快速入門賦值注釋數(shù)據(jù)類型不區(qū)分整數(shù)和浮點(diǎn)數(shù),統(tǒng)一用表示。條件判斷使用來(lái)進(jìn)行條件判斷。最新的規(guī)范引入了新的數(shù)據(jù)類型,是一組鍵值對(duì)的結(jié)構(gòu),具有極快的查找速度。一個(gè)數(shù)組實(shí)際上也是一個(gè)對(duì)象,它的每個(gè)元素的索引被視為一個(gè)屬性。 文章內(nèi)容來(lái)源:廖雪峰JavaScript-快速入門 賦值 var x = 1; 注釋 // comment /* comment */ 數(shù)據(jù)類型 Num...
摘要:函數(shù)式編程的定義函數(shù)是一段可以通過(guò)其名稱被調(diào)用的代碼。純函數(shù)大多數(shù)函數(shù)式編程的好處來(lái)自于編寫純函數(shù),純函數(shù)是對(duì)給定的輸入返回相同的輸出的函數(shù),并且純函數(shù)不應(yīng)依賴任何外部變量,也不應(yīng)改變?nèi)魏瓮獠孔兞俊? 一個(gè)持續(xù)更新的github筆記,鏈接地址:Front-End-Basics,可以watch,也可以star。 此篇文章的地址:JavaScript函數(shù)式編程入門經(jīng)典 正文開始 什么是函...
摘要:變量用聲明聲明一個(gè)變量在中,變量也可以不做聲明作用域下章講解數(shù)據(jù)類型數(shù)字小數(shù)點(diǎn)字符串布爾類型或數(shù)組也可以和表示變量不含值。對(duì)象與對(duì)象相關(guān)聯(lián)的任何值函數(shù)返回的值數(shù)據(jù)類型我將在后面章節(jié)詳細(xì)講解。 作者吐槽 寫這篇文章為了鞏固自身基礎(chǔ),也希望能夠幫助到想學(xué)JS的朋友更容易入門。如有錯(cuò)誤點(diǎn),望朋友指點(diǎn)。謝謝! Js應(yīng)該寫在哪里 寫在中 由組成的代碼就是JavaScript代碼,瀏覽器識(shí)別是JS...
摘要:函數(shù)中的入門牽扯到就要先說(shuō)一下它們和函數(shù)的淵源函數(shù)既是也是對(duì)象它和其它的對(duì)象沒(méi)有什么區(qū)別。但是我們可以通過(guò)和在函數(shù)調(diào)用時(shí)顯示指定所需的值。那就意味這任何函數(shù)可以被任何對(duì)象調(diào)用這才是和的方法的最終目的。否則會(huì)出現(xiàn)數(shù)組元素為的情況值值值值值 函數(shù)中的apply,call入門 ??牽扯到apply,call就要先說(shuō)一下它們和函數(shù)的淵源 Javascript函數(shù)既是也是對(duì)象 ??它和其它的...
摘要:在中是沒(méi)有這樣的關(guān)鍵字的,我們需要這樣做定義在方法內(nèi)也就是內(nèi)部,也可以看作成構(gòu)造函數(shù)的變量,就是私有變量。移動(dòng)氣球我們需要用到定時(shí)器。 什么是JavaScript? 我們可以從幾個(gè)方面去說(shuō)JavaScript是什么: 基于對(duì)象 javaScript中內(nèi)置了許多對(duì)象供我們使用【String、Date、Array】等等 javaScript也允許我們自己自定義對(duì)象 事件驅(qū)動(dòng) ...
閱讀 2936·2021-10-19 10:09
閱讀 3157·2021-10-09 09:41
閱讀 3412·2021-09-26 09:47
閱讀 2729·2019-08-30 15:56
閱讀 618·2019-08-29 17:04
閱讀 1011·2019-08-26 11:58
閱讀 2527·2019-08-26 11:51
閱讀 3387·2019-08-26 11:29