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

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

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

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

什么是類數(shù)組?

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

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

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

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

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

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

第一種方法:使用for in 將類數(shù)組對象轉(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ù)組對象放在一個名為arr的新數(shù)組里使得obj變成了數(shù)組

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

	</script>

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

如果想獲取整個對象:

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

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

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

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

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

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

es6如何將類數(shù)組對象轉(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()把對象轉(zhuǎn)化為數(shù)組必須符合2個條件

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

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

不寫length時:

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

加length鍵值對時:

es6如何將類數(shù)組對象轉(zhuǎn)數(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ù)組對象轉(zhuǎn)數(shù)組

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

for in中 i代表索引,一般用來遍歷對象

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

for of

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

for in

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

for Each

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

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

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

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

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

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

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

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

廣告

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

手機網(wǎng)站建設