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

时间:2017-12-21 05:47:31

标签: javascript arrays

您好我有这个对象:

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(),但正如我所提到的,键值对已经消失了。

提前谢谢。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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)