Javascript 如何使用下划线.js库重新编写此函数?

Javascript 如何使用下划线.js库重新编写此函数?,javascript,ecmascript-6,underscore.js,Javascript,Ecmascript 6,Underscore.js,需要对此对象执行一些数据转换: let states=[{ “状态”:“向上”, “时间范围”:1551271539, “时间到”:1551284429 }, { “状态”:“关闭”, “时间范围”:1551284429, “时间到”:1551284489 }, { “状态”:“向上”, “时间范围”:1551284489, “时间到”:1551294149 }, { “状态”:“关闭”, “时间范围”:1551294149, “时间到”:1551294269 }, { “状态”:“向上”,

需要对此对象执行一些数据转换:

let states=[{
“状态”:“向上”,
“时间范围”:1551271539,
“时间到”:1551284429
},
{
“状态”:“关闭”,
“时间范围”:1551284429,
“时间到”:1551284489
},
{
“状态”:“向上”,
“时间范围”:1551284489,
“时间到”:1551294149
},
{
“状态”:“关闭”,
“时间范围”:1551294149,
“时间到”:1551294269
},
{
“状态”:“向上”,
“时间范围”:1551294269,
“时间到”:1551876329
}
]
让newStates=states.map(state=>{
设obj={};
obj[state.status]=[state.timefrom,state.timeto];
返回obj;
})

console.log(newStates)使用下划线可以编写与以下内容相同的内容:

let states=[{
“状态”:“向上”,
“时间范围”:1551271539,
“时间到”:1551284429
},
{
“状态”:“关闭”,
“时间范围”:1551284429,
“时间到”:1551284489
},
{
“状态”:“向上”,
“时间范围”:1551284489,
“时间到”:1551294149
},
{
“状态”:“关闭”,
“时间范围”:1551294149,
“时间到”:1551294269
},
{
“状态”:“向上”,
“时间范围”:1551294269,
“时间到”:1551876329
}
]
让newStates=\映射(states,(state)=>{
const obj=新对象();
obj[state.status]=[state.timefrom,state.timeto];
返回obj;
})
console.log(新闻状态)

nircraft的方法已经足够好了,但这也应该有所帮助。运行代码段后检查控制台。
let states=[{
“状态”:“向上”,
“时间范围”:1551271539,
“时间到”:1551284429
},
{
“状态”:“关闭”,
“时间范围”:1551284429,
“时间到”:1551284489
},
{
“状态”:“向上”,
“时间范围”:1551284489,
“时间到”:1551294149
},
{
“状态”:“关闭”,
“时间范围”:1551294149,
“时间到”:1551294269
},
{
“状态”:“向上”,
“时间范围”:1551294269,
“时间到”:1551876329
}
]
设newStates=[];
_.每个州(州)=>{
如果(state.status==“向上”){
var timeFrom=state.timeFrom;
var timeTo=state.timeTo;
push({up:[timeFrom,timeTo]});
}
否则{
var timeFrom=state.timeFrom;
var timeTo=state.timeTo;
push({down:[timeFrom,timeTo]});
}
})
console.log(newStates)

如果下划线看起来很好,为什么要使用下划线?你不需要下划线,你的解决方案就足够了。我需要在下划线.js中使用下划线,因为我需要导入此数据的服务只能用下划线.js修改,因此问题出在。。。