我正在使用sequelize创建服务,并且某些值的响应为空数组。我需要将这些空数组转换为JSON对象。
有什么方法可以通过续集将空数组转换为空JSON对象吗?
我已经尝试过
track = _.last(result.tracks[0].track) ? _.last(result.tracks[0].track) : {};
但是没有用。
if (result.tracks && result.tracks[0] && result.tracks[0].track) {
track = _.last(result.tracks[0].track) ?
_.last(result.tracks[0].track) : {};
track.status = result.tracks[0].status;
}
我希望数组变成{}
。
我该如何解决问题?
答案 0 :(得分:0)
我会给你一个有效的答案,但不能解释 falsy 空数组的行为。
track = !_.last(result.tracks[0].track).length ? _.last(result.tracks[0].track) : {};
数字零表现虚假。
答案 1 :(得分:0)
我看到您需要删除其他属性为空。
if (result.tracks && result.tracks[0] && result.tracks[0].track) {
track = _.last(result.tracks[0].track) ?
_.last(result.tracks[0].track) : {};
track.status = result.tracks[0].status;
}
但是,请注意,在这里,您已经通过运行“ track = ...”创建了一个新项目。 并且它不影响原始对象“ result.tracks [0] .track”中的数组。 所以,我建议您尝试一下。
if (result.tracks && result.tracks[0] && result.tracks[0].track) {
track = _.last(result.tracks[0].track) ?
_.last(result.tracks[0].track) : {};
track.status = result.tracks[0].status;
result.tracks[0].track = track;
}