本文實(shí)例講述了JS實(shí)現(xiàn)將對(duì)象轉(zhuǎn)化為數(shù)組的方法。分享給大家供大家參考,具體如下:
目前成都創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、安遠(yuǎn)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
前言
其實(shí)這本來(lái)應(yīng)該是一個(gè)很基礎(chǔ)的問(wèn)題了,但我之做一想記錄一下是因?yàn)橹耙驗(yàn)閷?duì)象轉(zhuǎn)數(shù)組的時(shí)候卡住了后來(lái)弄了出來(lái),但最近再遇到這個(gè)問(wèn)題時(shí)竟然又卡主了,所以,關(guān)于這個(gè)問(wèn)題,如何把一個(gè)對(duì)象{'未完成':5, '已完成':8, '待確認(rèn)':4, '已取消':6}
轉(zhuǎn)為[{"未完成":5},{"已完成":8},{"待確認(rèn)":4},{"已取消":6}]
,你已經(jīng)知道如何操作了,那這篇文章你也就沒(méi)有必要看了。
對(duì)象的兩種取值方式
我們都知道,JS中對(duì)象有兩種取值方式,通過(guò)在.后面直接加屬性名取值,這也是我們最常使用的一種方式,例如:
let obj = {name: 'wan'}; console.log(obj.name); //wan
這是最普通的一種方式,還有一種方式我們用的不太多,就是使用[]包住屬性名取值,類似于數(shù)組那樣,例如
let obj = {name: 'wan'}; console.log(obj[name]); //wan
那二者之前有什么區(qū)別呢,如果對(duì)于一個(gè)已知的對(duì)象來(lái)說(shuō),幾乎是沒(méi)什么區(qū)別的,但是如果我們需要的對(duì)象的key是變量呢?這就回到了我們文章開(kāi)始是提到的問(wèn)題,如何將一個(gè)對(duì)象轉(zhuǎn)化為數(shù)組
將對(duì)象轉(zhuǎn)化為數(shù)組
我們文章開(kāi)始例子中的對(duì)象是
let obj = {'未完成':5, '已完成':8, '待確認(rèn)':4, '已取消':6};
如果目標(biāo)數(shù)組只是為了得到對(duì)象的key的集合或者value的集合還是相對(duì)容易的
var arr = [] for (let i in obj) { arr.push(obj[i]); //屬性 //arr.push(obj[i]); //值 } console.log(arr);
如果像我文中開(kāi)始的需求的話就只需要改變一下push
進(jìn)去的內(nèi)容為一個(gè)對(duì)象即可
var arr = [] for (let i in obj) { let o = {}; o[i] = obj[i]; arr.push(o) } console.log(arr);
感興趣的朋友還可以使用本站在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行結(jié)果。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。