今天小編給大家分享一下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>
如果想獲取整個(gè)對(duì)象:
let arr1 = []
for (let i in obj) {
let newobj = {}
newobj[i] = obj[i]
arr1.push(newobj);
}
console.log(arr1);
第二種方法:內(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);
第三種方法: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í):
加length鍵值對(duì)時(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);
})
效果如圖所示:
for of中 item代表數(shù)組中的某一項(xiàng)
for in中 i代表索引,一般用來(lái)遍歷對(duì)象
forEach方法用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)。
1.可以避免 for-in
循環(huán)中的所有陷阱
2.可以使用 break
, continue
和 return
3.for-of
循環(huán)不僅僅支持?jǐn)?shù)組的遍歷。同樣適用于很多類似數(shù)組的對(duì)象
4.它也支持字符串
的遍歷
5.for-of 并不適用于處理原有的原生對(duì)象
注:for..in循環(huán)會(huì)把某個(gè)類型的原型(prototype)中方法與屬性給遍歷出來(lái),所以這可能會(huì)導(dǎo)致代碼中出現(xiàn)意外的錯(cuò)誤
1、foreach
方法沒(méi)辦法使用return,break,continue語(yǔ)句來(lái)跳出循環(huán)
2、forEach方法中的function回調(diào)有三個(gè)參數(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)