摘要:前言從事前端到現(xiàn)在也有快兩年了,平時(shí)也會(huì)收集整理一些筆記放在印象筆記,不過(guò)收集過(guò)之后就在沒(méi)有看過(guò),經(jīng)大佬指點(diǎn),真正掌握一個(gè)知識(shí)點(diǎn),最好的方式就是用自己的話把內(nèi)容講明白,就開(kāi)始將以前零散的東西整合一下,和各位道友一起提高。
前言
從事前端到現(xiàn)在也有快兩年了,平時(shí)也會(huì)收集整理一些筆記放在印象筆記,不過(guò)收集過(guò)之后就在沒(méi)有看過(guò),經(jīng)大佬指點(diǎn),真正掌握一個(gè)知識(shí)點(diǎn),最好的方式就是用自己的話把內(nèi)容講明白,就開(kāi)始將以前零散的東西整合一下,和各位道友一起提高。
操作數(shù)組印象中數(shù)組有很多方法,系統(tǒng)的整理一下
Array.map()
此方法是將數(shù)組中的每個(gè)元素調(diào)用一個(gè)提供的函數(shù),結(jié)果作為一個(gè)新的數(shù)組返回,并沒(méi)有改變?cè)瓉?lái)的數(shù)組 let arr = [1, 2, 3, 4, 5] let newArr = arr.map(x => x*2) //arr= [1, 2, 3, 4, 5] 原數(shù)組保持不變 //newArr = [2, 4, 6, 8, 10] 返回新數(shù)組
Array.forEach()
此方法是將數(shù)組中的每個(gè)元素執(zhí)行傳進(jìn)提供的函數(shù),沒(méi)有返回值,直接改變?cè)瓟?shù)組,注意和map方法區(qū)分 let arr = [1, 2, 3, 4, 5] num.forEach(x => x*2) // arr = [2, 4, 6, 8, 10] 數(shù)組改變,注意和map區(qū)分
Array.filter()
此方法是將所有元素進(jìn)行判斷,將滿足條件的元素作為一個(gè)新的數(shù)組返回 let arr = [1, 2, 3, 4, 5] const isBigEnough => value => value >= 3 let newArr = arr.filter(isBigEnough ) //newNum = [3, 4, 5] 滿足條件的元素返回為一個(gè)新的數(shù)組
Array.every()
此方法是將所有元素進(jìn)行判斷返回一個(gè)布爾值,如果所有元素都滿足判斷條件,則返回true,否則為false let arr = [1, 2, 3, 4, 5] const isLessThan4 => value => value < 4 const isLessThan6 => value => value < 6 arr.every(isLessThan4 ) //false arr.every(isLessThan6 ) //true
Array.some()
此方法是將所有元素進(jìn)行判斷返回一個(gè)布爾值,如果存在元素都滿足判斷條件,則返回true,若所有元素都不滿足判斷條件,則返回false let arr= [1, 2, 3, 4, 5] const isLessThan4 => value => value < 4 const isLessThan6 => value => value > 6 arr.some(isLessThan4 ) //true arr.some(isLessThan6 ) //false
Array.reduce()
此方法是所有元素調(diào)用返回函數(shù),返回值為最后結(jié)果,傳入的值必須是函數(shù)類型 let arr = [1, 2, 3, 4, 5] const add = (a, b) => a + b let sum = arr.reduce(add) //sum = 15 相當(dāng)于累加的效果 與之相對(duì)應(yīng)的還有一個(gè) Array.reduceRight() 方法,區(qū)別是這個(gè)是從右向左操作的
Array.push()
此方法是在數(shù)組的后面添加新加元素,此方法改變了數(shù)組的長(zhǎng)度 let arr = [1, 2, 3, 4, 5] arr.push(6, 7) console.log(arr) //[1, 2, 3, 4, 5, 6, 7] console.log(arr.length) //7
Array.pop()
此方法在數(shù)組后面刪除最后一個(gè)元素,并返回?cái)?shù)組,此方法改變了數(shù)組的長(zhǎng)度 let arr = [1, 2, 3, 4, 5] arr.pop() console.log(arr) //[1, 2, 3, 4] console.log(arr.length) //4
Array.shift()
此方法在數(shù)組后面刪除第一個(gè)元素,并返回?cái)?shù)組,此方法改變了數(shù)組的長(zhǎng)度 let arr = [1, 2, 3, 4, 5] arr.shift() console.log(arr) //[2, 3, 4, 5] console.log(arr.length) //4
Array.unshift()
此方法是將一個(gè)或多個(gè)元素添加到數(shù)組的開(kāi)頭,并返回新數(shù)組的長(zhǎng)度 let arr = [1, 2, 3, 4, 5] arr.unshift(6, 7) console.log(arr) //[6, 7, 2, 3, 4, 5] console.log(arr.length) //7
Array.isArray()
判斷一個(gè)對(duì)象是不是數(shù)組,返回的是布爾值
Array.concat()
此方法是一個(gè)可以將多個(gè)數(shù)組拼接成一個(gè)數(shù)組 let arr1 = [1, 2, 3] arr2 = [4, 5] let arr = arr1.concat(arr2) console.log(arr)//[1, 2, 3, 4, 5]
Array.toString()
此方法將數(shù)組轉(zhuǎn)化為字符串 let arr = [1, 2, 3, 4, 5]; let str = arr.toString() console.log(str)// 1,2,3,4,5
Array.join()
此方法也是將數(shù)組轉(zhuǎn)化為字符串 let arr = [1, 2, 3, 4, 5]; let str1 = arr.toString() let str2 = arr.toString(",") let str3 = arr.toString("##") console.log(str1)// 12345 console.log(str2)// 1,2,3,4,5 console.log(str3)// 1##2##3##4##5 通過(guò)例子可以看出和toString的區(qū)別,可以設(shè)置元素之間的間隔~
15.Array.splice(開(kāi)始位置, 刪除的個(gè)數(shù),元素)
萬(wàn)能方法,可以實(shí)現(xiàn)增刪改 let arr = [1, 2, 3, 4, 5]; let arr1 = arr.splice(2, 0 "haha") let arr2 = arr.splice(2, 3) let arr1 = arr.splice(2, 1 "haha") console.log(arr1) //[1, 2, "haha", 3, 4, 5]新增一個(gè)元素 console.log(arr2) //[1, 2] 刪除三個(gè)元素 console.log(arr3) //[1, 2, "haha", 4, 5] 替換一個(gè)元素結(jié)尾
第一次寫,都是很簡(jiǎn)單的數(shù)組用法,千里之行始于足下,重新把基礎(chǔ)夯實(shí)一下,如果存在錯(cuò)誤或者表達(dá)不當(dāng),還望及時(shí)告知,thx
MDN語(yǔ)法還有很多好玩的方法可以去demo
《JavaScript高級(jí)權(quán)威指南 》數(shù)組操作
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/52011.html
摘要:專題系列共計(jì)篇,主要研究日常開(kāi)發(fā)中一些功能點(diǎn)的實(shí)現(xiàn),比如防抖節(jié)流去重類型判斷拷貝最值扁平柯里遞歸亂序排序等,特點(diǎn)是研究專題之函數(shù)組合專題系列第十六篇,講解函數(shù)組合,并且使用柯里化和函數(shù)組合實(shí)現(xiàn)模式需求我們需要寫一個(gè)函數(shù),輸入,返回。 JavaScript 專題之從零實(shí)現(xiàn) jQuery 的 extend JavaScritp 專題系列第七篇,講解如何從零實(shí)現(xiàn)一個(gè) jQuery 的 ext...
摘要:幾乎所有的編程語(yǔ)言都有類似的數(shù)據(jù)結(jié)構(gòu)。然而的數(shù)組卻略有不同。沒(méi)有定義中說(shuō)的那樣的數(shù)據(jù)結(jié)構(gòu),作為替代。元素通過(guò)指定的分隔符進(jìn)行分隔。返回該對(duì)象的源代碼。把數(shù)組轉(zhuǎn)換為本地?cái)?shù)組,并返回結(jié)果。 寫在前面的話: 經(jīng)常看到技術(shù)博客上寫的內(nèi)容很詳細(xì),對(duì)于一個(gè)問(wèn)題,大家的博客內(nèi)容似乎都是一樣的。不難發(fā)現(xiàn)這些技術(shù)博客已經(jīng)成為各路教程的匯總地,而教程一般都是參考國(guó)外博客翻譯或者直接在經(jīng)典的書籍上大片抄錄。...
摘要:中并沒(méi)有明確的數(shù)組數(shù)據(jù)類型。返回?cái)?shù)組對(duì)象的原始值。專門用于篩選出數(shù)組中符合函數(shù)判斷條件的元素組成的心數(shù)組。專門用于對(duì)原數(shù)組中每個(gè)元素執(zhí)行相同的函數(shù)對(duì)象規(guī)定的操作。 概述 一維數(shù)組 數(shù)組是一個(gè)有序的數(shù)據(jù)集合,可以通過(guò)數(shù)組名稱和索引進(jìn)行訪問(wèn)。JavaScript中并沒(méi)有明確的數(shù)組數(shù)據(jù)類型。 二維數(shù)組 數(shù)組是可以嵌套的,這就意味著一個(gè)數(shù)組可以作為一個(gè)袁旭被包含在另一個(gè)數(shù)組里面。利用JavaS...
摘要:中并沒(méi)有明確的數(shù)組數(shù)據(jù)類型。創(chuàng)建一維數(shù)組具有以下幾種方式二維數(shù)組數(shù)組是可以嵌套,這就意味著一個(gè)數(shù)組可以作為一個(gè)數(shù)組被包含在另外一個(gè)數(shù)組里面。利用這個(gè)特點(diǎn),創(chuàng)建二維數(shù)組,即數(shù)組的數(shù)組。刪除數(shù)組的最后一個(gè)元素并返回刪除的元素。 Array 概述 一維數(shù)組 數(shù)組是一個(gè)有序的數(shù)據(jù)集合,可以通過(guò)數(shù)組名稱和索引進(jìn)行訪問(wèn)。JavaScript中并沒(méi)有明確的數(shù)組數(shù)據(jù)類型。創(chuàng)建一維數(shù)組具有以下幾種方式:...
摘要:目錄導(dǎo)語(yǔ)對(duì)象對(duì)象小結(jié)導(dǎo)語(yǔ)本系列文章將重點(diǎn)講解提供的原生庫(kù)標(biāo)準(zhǔn)庫(kù),只要在支持語(yǔ)言的平臺(tái),標(biāo)準(zhǔn)庫(kù)中的提供的對(duì)象的屬性和方法都能使用對(duì)象對(duì)象的理解講的標(biāo)準(zhǔn)庫(kù),首先要從對(duì)象談起,因?yàn)橹蟮乃袑?duì)象都可以看做是對(duì)象構(gòu)造出來(lái)的因此,對(duì)象可以看做是一個(gè)構(gòu) 目錄 導(dǎo)語(yǔ) 1. Object對(duì)象 2. Array對(duì)象 3. 小結(jié) 導(dǎo)語(yǔ) 本系列文章將重點(diǎn)講解JavaScript提供的原生庫(kù)——標(biāo)準(zhǔn)庫(kù),只要...
摘要:屬性是一個(gè)值或一組值以數(shù)組或?qū)ο蟮男问?,是?duì)象的成員??梢允褂脙?nèi)置構(gòu)造函數(shù)和創(chuàng)建包裝對(duì)象。因此下面的代碼將會(huì)使人很迷惑結(jié)果結(jié)果,此數(shù)組長(zhǎng)度為應(yīng)該盡量避免使用數(shù)組構(gòu)造函數(shù)創(chuàng)建新數(shù)組。給數(shù)組對(duì)象添加返回?cái)?shù)組中最大元素值的方法。 對(duì)象部分 Object類型 Object 是一個(gè)無(wú)序的集合,可以存放任意類型對(duì)象,所有其他對(duì)象都繼承自這個(gè)對(duì)象。創(chuàng)建Object類型有兩種,一種是使用new運(yùn)算符,...
閱讀 1696·2021-11-23 09:51
閱讀 3218·2021-09-26 10:21
閱讀 814·2021-09-09 09:32
閱讀 893·2019-08-29 16:06
閱讀 3322·2019-08-26 13:36
閱讀 783·2019-08-26 10:56
閱讀 2575·2019-08-26 10:44
閱讀 1155·2019-08-23 14:04