欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

今天小編給大家分享一下es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供安塞企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為安塞眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

轉(zhuǎn)換方法:1、使用“for in”語(yǔ)句將類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組,語(yǔ)法“for(var i in obj){console.log(arr.push(obj[i]));}”;2、使用內(nèi)置對(duì)象keys和valus,語(yǔ)法“Object.keys(obj)”和“Object.values(obj)”;3、使用Array對(duì)象的from()函數(shù),語(yǔ)法“Array.from(obj)”。

什么是類數(shù)組?

JavaScript中有一些看起來(lái)像卻又不是數(shù)組的對(duì)象,叫做類數(shù)組。

什么是類數(shù)組對(duì)象?

只包含使用從0開(kāi)始的,并且是自然遞增的整數(shù)作為鍵,還定義了length用來(lái)表示元素個(gè)數(shù)的對(duì)象,通常就認(rèn)為是類數(shù)組對(duì)象。

  • 具有指向?qū)ο笤氐臄?shù)字索引下標(biāo),以及 length 屬性告訴我們對(duì)象的元素個(gè)數(shù);

  • 不具有比如像push 、 forEach 以及 indexOf 等數(shù)組對(duì)象具有的方法;

類數(shù)組轉(zhuǎn)換為數(shù)組

第一種方法:使用for in 將類數(shù)組對(duì)象轉(zhuǎn)換為數(shù)組

<script type="text/javascript">
		var obj = {
			0: 'a',
			1: 'b',
			2: 'c',
		};
		console.log(obj[0]);
		console.log(typeof obj);
		var arr = [];
		for(var i in obj){
			console.log(arr.push(obj[i]));
		}
		console.log(arr);
		//把類數(shù)組對(duì)象放在一個(gè)名為arr的新數(shù)組里使得obj變成了數(shù)組

		console.log(arr instanceof Array);//判斷arr是否為數(shù)組

	</script>

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

如果想獲取整個(gè)對(duì)象:

let arr1 = []
		for (let i in obj) {
			let newobj = {}
			newobj[i] = obj[i]
			arr1.push(newobj);
		}
		console.log(arr1);

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

第二種方法:內(nèi)置對(duì)象keys和valus

內(nèi)置對(duì)象Object.keys:獲取鍵

內(nèi)置對(duì)象Object.values獲取值

let obj = {
			'1': 5,
			'2': 8,
			'3': 4,
			'4': 6
		};
		//內(nèi)置對(duì)象Object.keys:獲取鍵
		var arr = Object.keys(obj)
		console.log(arr);
		//內(nèi)置對(duì)象Object.values獲取值
		var arr2 = Object.values(obj)
		console.log(arr2);

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

第三種方法:Array.from()

let obj = {
		'0': 5,
		'1': 8,
		'2': 4,
		'3': 6,
		'length':4
	};
	    let arr = Array.from(obj)
		console.log(arr);

Array.from()把對(duì)象轉(zhuǎn)化為數(shù)組必須符合2個(gè)條件

1:鍵必須是數(shù)值

2:必須帶有l(wèi)ength的鍵值對(duì)

不寫length時(shí):

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

加length鍵值對(duì)時(shí):

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

擴(kuò)展知識(shí):for of、for in和forEach的區(qū)別

let arr = ['周一', '周二', '周三', '周四','周五','周六','周日']
		// for of
		for (let item of arr) {
			console.log(item);
		}
        // for in
		for (let i in arr) {
			console.log(i);
		}
        // forEach
        arr.forEach(item => {
			console.log(item);
		})

效果如圖所示:

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

for of中 item代表數(shù)組中的某一項(xiàng)

for in中 i代表索引,一般用來(lái)遍歷對(duì)象

forEach方法用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)。

for of

1.可以避免 for-in 循環(huán)中的所有陷阱
2.可以使用 break, continuereturn
3.for-of 循環(huán)不僅僅支持?jǐn)?shù)組的遍歷。同樣適用于很多類似數(shù)組的對(duì)象
4.它也支持字符串的遍歷
5.for-of 并不適用于處理原有的原生對(duì)象

for in

注:for..in循環(huán)會(huì)把某個(gè)類型的原型(prototype)中方法與屬性給遍歷出來(lái),所以這可能會(huì)導(dǎo)致代碼中出現(xiàn)意外的錯(cuò)誤

for Each

1、foreach 方法沒(méi)辦法使用return,break,continue語(yǔ)句來(lái)跳出循環(huán)

2、forEach方法中的function回調(diào)有三個(gè)參數(shù):

es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組

(1)參數(shù)是遍歷的數(shù)組內(nèi)容(必需)
(2)參數(shù)是對(duì)應(yīng)的數(shù)組索引(可選)
(3)參數(shù)是數(shù)組本身(可選)

3、對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)。返回undefined

以上就是“es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

名稱欄目:es6如何將類數(shù)組對(duì)象轉(zhuǎn)數(shù)組
文章位置:http://chinadenli.net/article20/ihscjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、響應(yīng)式網(wǎng)站、虛擬主機(jī)、企業(yè)網(wǎng)站制作、做網(wǎng)站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)