将键值对象转换为键值数组

问题描述 投票:-2回答:2

你好,我有这个对象:

const data = {id: "value", project_id: "value", task_id: "value", hours: "value", started_time: "value", task_id: "value"}

我想将它转换为仍然具有该键的数组:这样的值对:

[id: "value", 
project_id: "value", 
task_id: "value", 
hours: "value", 
started_time: "value",
ended_time: "value",
notes: "value", 
task_id: "value"]

我试过用了

Object.entries(data).forEach(([key, value]) => {
    const arr = [(`${key}:${value}`)]
    console.log(arr)
})

但它返回了8个单独的数组,键值对消失了。

["id: value"]
["project_id: value"]
["task_id: value"]
["hours: value"]
["started_time: value"]
["ended_time: value"]
["notes: value"]
["task_id: value"]

虽然我可以使用.contact(),正如我所提到的,键值对已经消失了。

先感谢您。

javascript arrays
2个回答
1
投票

你可以使用Object.keys().map

var obj = {
    id: "value", 
    project_id: "value", 
    task_id: "value", 
    hours: "value", 
    started_time: "value",
    ended_time: "value",
    notes: "value"
};
var returnValue = Object.keys(obj).map(key => `${key}: ${obj[key]}`)
console.log(returnValue)

0
投票

您可以尝试以下解决方案。

var object = {
    id: "value", 
    project_id: "value", 
    task_id: "value", 
    hours: "value", 
    started_time: "value",
    ended_time: "value",
    notes: "value", 
    task_id: "value"
};

var array = [];
Object.entries(object).forEach(([key, value]) => {
    array.push(key+":"+value);

});
 console.log(array)
© www.soinside.com 2019 - 2024. All rights reserved.