javascript - 如何使用javascript将对象转换为二维数组

标签 javascript angular typescript ecmascript-6

我有一个像这样的对象:

{
    "sample.JPG": {
        "id": "c9a29270",
        "filename": "sample.JPG"
    },
    "test.JPG": {
        "id": "c6a270",
        "filename": "test.JPG"
    },
    "sample1.JPG": {
        "id": "c70",
        "filename": "sample1.JPG"
    },
    "test2.JPG": {
        "id": "c6a",
        "filename": "test2.JPG"
    }
}

并希望它像:

[["fakepath/sample.JPG", "c9a29270"], ["fakepath/test.JPG", "c6a270"]]

这里的假路径意味着静态/硬编码路径
我尝试过的是

Object.keys(myobj).map((key)=> {
    return myoby[key];
});

但是结果符合我的需要,有什么建议吗?

我做了这样的事情:

for(var i in obj){
    this.arr.push(['fakepath/' + i,obj[i].id])
}

可以吗?

最佳答案

您可以map() Object.values这比循环更简洁、更容易阅读:

let o = {"sample.JPG": {"id": "c9a29270","filename": "sample.JPG"},"test.JPG": {"id": "c6a270","filename": "test.JPG"},"sample1.JPG": {"id": "c70","filename": "sample1.JPG"},"test2.JPG": {"id": "c6a","filename": "test2.JPG"}}

let arr = Object.values(o).map(({id, filename}) => ['fakepath/' + filename, id])
console.log(arr)

关于javascript - 如何使用javascript将对象转换为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56017078/

相关文章:

Angular 2 ng-template 不在组件内部的 dom 中呈现

angular - 选择表单控件在 Angular 7 中返回 [object Object]

reactjs - 如何声明Set()类型的状态变量?

typescript - ESLint:解析错误:意外的 token :

angular - Ionic 2,在 ionic 段中使用谷歌地图

javascript - 有没有办法在 App.Module.ts 中使用 configService?

javascript - 我如何用 Promise 重构这个回调 hell ?

javascript - 如何获取fileuploadfield按钮的id

javascript - 如何将一个div的内容复制到另一个div

javascript - 未捕获的类型错误 : undefined is not a function in datepicker