国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【ES6】—數(shù)組的擴(kuò)展

這篇具有很好參考價(jià)值的文章主要介紹了【ES6】—數(shù)組的擴(kuò)展。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【ES6】—數(shù)組的擴(kuò)展,面試必備技巧,es6,javascript,前端

一、類數(shù)組/ 偽數(shù)組

1. 類/偽數(shù)組: 并不是真正意義的數(shù)組,有長度的屬性,但無法使用Array原型上的方法

let divs = document.getElementsByTagName('div')
console.log(divs)
// HTMLCollection []

let divs2 = document.getElementsByClassName("xxx")
console.log(divs2)
// HTMLCollection []

let div3 = document.querySelectorAll('.xx')
console.log(div3)
// NodeList []

2. 判斷是否是數(shù)組的方法, 檢測是否是Array的實(shí)例

let div3 = document.querySelectorAll('.xx')
console.log(div3 instanceof Array)
// false
div3.push(123)
// Uncaught TypeError: div3.push is not a function
因?yàn)閐iv3 不是 真正的數(shù)組

3. 如何把偽數(shù)組轉(zhuǎn)換為真正的數(shù)組

  1. ES5 的 slice 方法
let div3 = document.querySelectorAll('.xx')
// 偽數(shù)組轉(zhuǎn)換為真正數(shù)組
let arr = Array.prototype.slice.call(div3)
console.log(arr)
// []
  1. arguments
    是一個(gè)對應(yīng)于傳遞給函數(shù)的參數(shù)的類/偽數(shù)組對象
function foo() {
	console.log(arguments)
	// 檢測是否為真正數(shù)組
	console.log(arguments instanceof Array)
} 
foo(1, 'imooc', true)
// Arguments(3) [1, 'imooc', true, callee: ?, Symbol(Symbol.iterator): ?]
// false
  1. ES6的Array.from()方法
let arrayLike = {
	0: 'es6',
	1: 'es7',
	2: 'es8',
	length: 3
}
let arr = Array.from(arrayLike)
arr.push('es9')
console.log(arr)
// (4) ['es6', 'es7', 'es8', 'es9']

二、創(chuàng)建數(shù)組實(shí)例

1. new Array 參數(shù)個(gè)數(shù)不同,所表達(dá)含義不同

let arr = new Array(1,2)
console.log(arr)
// (2) [1, 2]
let arr1 = new Array(3)
console.log(arr1)
// (3) [空屬性 × 3]

PS: 通過new Array的時(shí)候,參數(shù)為多個(gè)時(shí),參數(shù)表示的是數(shù)組的值;參數(shù)為一個(gè)時(shí),參數(shù)表示是數(shù)組的長度

2. Array of 所傳入的參數(shù)就是數(shù)組的值

let arr = Array.of(123,'123',null, [1,2], {name: 'xiao'})
console.log(arr)
// (5) [123, '123', null, Array(2), {…}]
console.log(Array.of(1))
// [1]

三、替換數(shù)組的值

1. copyWithin() 復(fù)制替換數(shù)組里面的內(nèi)容

參數(shù):copyWithin(target, start, end)
target: 從哪個(gè)索引開始替換
strat: 元素復(fù)制的起始位置, 包含
end: 停止復(fù)制的索引位置, 不包含

let arr =  [1,2,3, 4, 5]
console.log(arr.copyWithin(0, 2,3))
// 第一步復(fù)制數(shù)組中索引2 - 3(不包含)之間的數(shù)字, [3]
// 把[3] 從 索引 0 開始替換 [1,2,3,4,5]  => [3,2,3,4,5]
let arr =  [1,2,3, 4, 5]
console.log(arr.copyWithin(0, 1))
// 第一步從索引1開始復(fù)制,直到結(jié)束  [2,3,4,5]
// 把[2,3,4,5] 從 0 開始替換 [1,2,3,4,5] => [2,3,4,5,5]

2. fill() 傳值替換數(shù)組的值

參數(shù):
value:必需。填充的值
strat: 可選。開始填充位置, 包含
end: 可選。停止填充位置 (默認(rèn)為 array.length) , 不包含文章來源地址http://www.zghlxwxcb.cn/news/detail-663434.html

let arr = new Array(3).fill(7)
console.log(arr)
// (3) [7, 7, 7]
// 當(dāng)strat和end 不傳時(shí),填充數(shù)組的每一個(gè)值
let arr = [1,2,3,4,5]
arr.fill('xiaoxiao', 0, 2)
console.log(arr)
// ['xiaoxiao', 'xiaoxiao', 3, 4, 5]
// 把索引0- 2(不包含)的值,替換成"xiaoxiao"

四、 查找數(shù)組中的值是否存在

  1. ES5 indexOf 無法找到NaN 的值, ES6 includes 可以
let arr = [1,2,3, NaN]
console.log(arr.indexOf(NaN))
console.log(NaN == NaN)
console.log(arr.includes(NaN))
// -1
// false
// true

到了這里,關(guān)于【ES6】—數(shù)組的擴(kuò)展的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JavaScript筆記——快速了解 ES6 新增數(shù)組方法,開箱即用(含案例)

    JavaScript筆記——快速了解 ES6 新增數(shù)組方法,開箱即用(含案例)

    數(shù)組是 JavaScript 以及多數(shù)編程其他編程語言的一種基礎(chǔ)數(shù)據(jù)類型。 ES6 提供了許多新的數(shù)組方法,這篇文章將介紹其中一些常用的數(shù)組方法及其使用示例。 Array.from() 方法從一個(gè)類似數(shù)組或可迭代對象中創(chuàng)建一個(gè)新的,淺拷貝的數(shù)組實(shí)例。例如,將字符串轉(zhuǎn)換為字符數(shù)組。 A

    2024年02月10日
    瀏覽(28)
  • ES6對象擴(kuò)展

    ES6對象擴(kuò)展是指在ES6中新增的一些對象屬性和方法,包括對象屬性的簡寫、計(jì)算屬性名、對象方法的簡寫、對象的可迭代性、拓展運(yùn)算符等。 下面是一些常用的ES6對象擴(kuò)展: 對象屬性的簡寫 ES6中,當(dāng)對象的屬性名和賦值變量名相同時(shí),可以簡寫屬性名稱,例如: 這里的na

    2024年02月07日
    瀏覽(24)
  • ES6--》對象擴(kuò)展方法

    ES6--》對象擴(kuò)展方法

    目錄 對象擴(kuò)展 name 屬性 屬性的遍歷 super Object.is() Object.assign() Object.getOwnPropertyDescriptors() Object.setPrototypeOf() Object.getPrototypeOf() Object.keys()、Object.values、Object.entries()、Object.fromEntries() Object.hasOwn() 本文簡單介紹以下ES6對對象新增的方法: name 屬性 函數(shù)的name屬性,返回函數(shù)

    2024年02月21日
    瀏覽(20)
  • ES6——ES6相關(guān)面試題分享

    ES6——ES6相關(guān)面試題分享

    文章目錄 前言 一、什么是ES6,以及引入ES6的原因 二、let,var,const三者的區(qū)別。 三、運(yùn)用ES6如何合并兩個(gè)對象? 四、for...in 和for...of有什么區(qū)別。 五、?箭頭函數(shù)的this和普通函數(shù)的this的區(qū)別。 六、Es6中如何定義模板字符串,有什么好處。 七、Array的擴(kuò)展方法map和filter相同

    2024年02月15日
    瀏覽(23)
  • ES6-擴(kuò)展運(yùn)算符“...“

    … 稱為 “展開運(yùn)算符” (spread operator),它可以將數(shù)組或?qū)ο笳归_成一個(gè)列表或一組鍵值對,常用于組合兩個(gè)或多個(gè)陣列。 說明:不會(huì)修改原數(shù)組 典型運(yùn)用場景 求最大最小值 合并數(shù)組 ?組合對象 函數(shù)賦值 ?解構(gòu)賦值

    2024年02月07日
    瀏覽(29)
  • ES6中的數(shù)值擴(kuò)展

    二進(jìn)制和八進(jìn)制的前綴分別為0b(或0B)和0o(或0O)表示 在ES5的嚴(yán)格模式下,八進(jìn)制不再允許使用前綴 0 表示 如果要將 0b 和 0x 前綴的字符串?dāng)?shù)值轉(zhuǎn)為十進(jìn)制,要使用Number方法 Number.isFinite() 用來檢測一個(gè)數(shù)值是否是有限的(finite)。 Number.isNaN() 用來檢測一個(gè)值是否為NaN 這兩個(gè)方法與

    2024年02月07日
    瀏覽(16)
  • ES6函數(shù)新增了哪些擴(kuò)展?

    ES6允許為函數(shù)的參數(shù)設(shè)置默認(rèn)值 函數(shù)的形參是默認(rèn)聲明的,不能使用let或const再次聲明 參數(shù)默認(rèn)值可以與解構(gòu)賦值的默認(rèn)值結(jié)合起來使用 上面的foo函數(shù),當(dāng)參數(shù)為對象的時(shí)候才能進(jìn)行解構(gòu),如果沒有提供參數(shù)的時(shí)候,變量x和y就不會(huì)生成,從而報(bào)錯(cuò),這里設(shè)置默認(rèn)值避免 參

    2024年02月06日
    瀏覽(22)
  • ES6...擴(kuò)展操作符騷操作

    復(fù)制和合并數(shù)組變得更為簡潔。不需要使用 concat() 方法或 slice() 方法,一個(gè) … 操作符已經(jīng)足夠: 將數(shù)組作為一個(gè)需要單獨(dú)一個(gè)個(gè)傳入?yún)?shù)的函數(shù)的參數(shù) 對象屬性展開復(fù)制 如果存在相同的值 后者覆蓋前者 合并對象 類似于object.assign 不過,擴(kuò)展屬性并不總能生成與 Object.as

    2024年02月14日
    瀏覽(18)
  • [ES6] 數(shù)組

    Array.of(),將參數(shù)中所有值作為元素形成數(shù)組,參數(shù)值可為不同類型,參數(shù)為空時(shí)返回空數(shù)組 Array.from(),將類數(shù)組對象或可迭代對象轉(zhuǎn)化為數(shù)組 Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike:想要轉(zhuǎn)換的類數(shù)組對象或可迭代對象 mapFn:可選,map 函數(shù),用于對每個(gè)元素進(jìn)行處理,放入數(shù)組的是

    2023年04月23日
    瀏覽(15)
  • ES6的一些高級技巧

    ES6(ECMAScript 2015)引入了許多新的功能和語法,其中一些功能可能相對較冷門,但非常實(shí)用。本文將介紹一些這樣的高級技巧,包括 Object.entries() Object.fromEntries() Symbol類型和Symbol屬性 WeakMap和WeakSet Promise.allSettled() BigInt Array.of Array.from .at和flat Object.entries()方法返回一個(gè)給定對象

    2024年01月19日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包