摘要:試著用數(shù)組的構(gòu)造方法創(chuàng)建一個(gè)數(shù)組,你就會(huì)明白我的意思。我們常用的解決方法是傳遞或自從把當(dāng)做一個(gè)的時(shí)候。根據(jù)中對(duì)擴(kuò)展運(yùn)算符的介紹,有一個(gè)更簡(jiǎn)潔的方法可以將空參數(shù)傳遞給一個(gè)方法。
每天學(xué)習(xí)一個(gè)JS小知識(shí)
1. 迭代一個(gè)空數(shù)組
JavaScript 中直接創(chuàng)建的數(shù)組是松散的,以至于會(huì)有很多坑。試著用數(shù)組的構(gòu)造方法創(chuàng)建一個(gè)數(shù)組,你就會(huì)明白我的意思。
const arr = new Array(4); [undefined, undefined, undefined, undefined]
你會(huì)發(fā)現(xiàn),通過一個(gè)松散的數(shù)組去循環(huán)調(diào)用一些轉(zhuǎn)換是非常難的。
const arr = new Array(4); arr.map((elem, index) => index); [undefined, undefined, undefined, undefined]
想要解決這個(gè)問題,你可以使用在創(chuàng)建新數(shù)組的時(shí)候使用 Array.apply。
const arr = Array.apply(null, new Array(4)); arr.map((elem, index) => index); [0, 1, 2, 3]
2. 給方法傳一個(gè)空參數(shù)
如果你想調(diào)用一個(gè)方法,并不填其中的一個(gè)參數(shù)時(shí),JavaScript 就會(huì)報(bào)錯(cuò)。
method("parameter1", , "parameter3"); Uncaught SyntaxError: Unexpected token
我們常用的解決方法是傳遞 null 或 undefined.
method("parameter1", null, "parameter3") // or method("parameter1", undefined, "parameter3");
自從 JavaScript 把 null 當(dāng)做一個(gè) object 的時(shí)候。根據(jù) ES6 中對(duì)擴(kuò)展運(yùn)算符的介紹,有一個(gè)更簡(jiǎn)潔的方法可以將空參數(shù)傳遞給一個(gè)方法。正如前文所提到的,數(shù)組是松散的,所以給它傳空值是可以的,我們正式用到了這個(gè)優(yōu)點(diǎn)。
method(...["parameter1", , "parameter3"]); // works
數(shù)組去重
我一直不明白為什么數(shù)組不提供一個(gè)內(nèi)置函數(shù)可以讓我們方便的取到去重以后的值。擴(kuò)展運(yùn)算符幫到了我們,使用擴(kuò)展運(yùn)算符配合 Set Spread operators are here for the rescue. Use spread operators with the Set 可以生成一個(gè)不重復(fù)的數(shù)組。
const arr = [...new Set([1, 2, 3, 3])]; [1, 2, 3]
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96430.html
摘要:的數(shù)組對(duì)象中有很多有用的方法,的函數(shù)在某些方面非常的方便強(qiáng)大。函數(shù)的使用例子求數(shù)組中每個(gè)元素的平方根的值為的值仍為應(yīng)用下面代碼展示了如何去遍歷用得到的動(dòng)態(tài)對(duì)象集合。 js的Array數(shù)組對(duì)象中有很多有用的方法,js的map函數(shù)在某些方面非常的方便強(qiáng)大。 map() 方法創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。 let numbers = [1, 5,...
摘要:最近在調(diào)試頁面時(shí)頻繁與打交道,在復(fù)雜場(chǎng)景下,傳參數(shù)就需要對(duì)大量參數(shù)進(jìn)行處理。兩者等效長(zhǎng)度為的空數(shù)組同上是的內(nèi)置對(duì)象,是的,雖然是數(shù)組,也是一種對(duì)象使用判斷會(huì)返回而方法能更精準(zhǔn)判斷其類型。 最近在調(diào)試JSP頁面時(shí)頻繁與ajax打交道,在復(fù)雜場(chǎng)景下,ajax傳參數(shù)就需要對(duì)大量參數(shù)進(jìn)行處理。這時(shí)我才發(fā)現(xiàn),熟練Array的處理真的會(huì)使開發(fā)輕松不少??! 關(guān)于Array Array的創(chuàng)建很靈活,可...
摘要:類似的情況還有,方法和方法等。今天我說一個(gè)最簡(jiǎn)單。代碼如下和也可以實(shí)現(xiàn),但是生成的是一個(gè)整數(shù),如下分割線其它類型數(shù)據(jù)轉(zhuǎn)布爾數(shù)據(jù)下面的轉(zhuǎn)換,大家一看就明白了,不多說。緩存變量循環(huán)緩存分割線第一段就是每一次循環(huán)的時(shí)候,都要查詢一次。 1.前言 從大學(xué)到現(xiàn)在,接觸前端已經(jīng)有幾年了,感想方面,就是對(duì)于程序員而言,想要提高自己的技術(shù)水平和編寫易于閱讀和維護(hù)的代碼,我覺得不能每天都是平庸的寫代碼,...
摘要:簡(jiǎn)單例子一個(gè)較為常用的場(chǎng)景就是累加或累乘輸出數(shù)組元素的乘積輸出數(shù)組元素的乘積簡(jiǎn)寫形式輸出數(shù)組元素的乘積形式,營(yíng)造復(fù)雜的逼格用在數(shù)組降維扁平化處理的例子中注方法用于連接兩個(gè)或多個(gè)數(shù)組。 看到一個(gè)提問的回答巧妙地使用了map/reduce操作,很優(yōu)雅,所以來學(xué)習(xí)和總結(jié)一下javascript自帶的map/reduce的使用技巧,文章不會(huì)講的很深,純當(dāng)科普一下知識(shí)點(diǎn),如有解釋的不正確的地方,...
摘要:檢測(cè)數(shù)組或者檢測(cè)對(duì)象的原型鏈?zhǔn)欠裰赶驑?gòu)造函數(shù)的對(duì)象或者終極大招注意不可以用此方法檢查常用方法合并多個(gè)數(shù)組,返回合并后的新數(shù)組,原數(shù)組沒有變化。返回值是由被刪除的元素組成的一個(gè)數(shù)組。 定義數(shù)組 const array = [1, 2, 3]; 或者 const array = new Array(); array[0] = 1; 建議盡量使用第一種形式定義數(shù)組,采用new的形式在大量的數(shù)...
閱讀 2809·2023-04-25 22:15
閱讀 1843·2021-11-19 09:40
閱讀 2183·2021-09-30 09:48
閱讀 3255·2021-09-03 10:36
閱讀 2061·2021-08-30 09:48
閱讀 1906·2021-08-24 10:00
閱讀 2756·2019-08-30 15:54
閱讀 739·2019-08-30 15:54