微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将Slate查询的返回格式从列更改为行?

如何解决如何将Slate查询的返回格式从列更改为行?

我的查询结果如下:

{
  col1: [values],col2: [values]
}

有没有办法让我的查询作为行对象列表返回?

解决方法

最好的方法是编写一个函数来转换查询响应。

一个例子:

Folder A | MySite
Folder A | Folder B | MySite
Folder A | Folder B | Some File | MySite

或更紧凑的版本:

function transformColumnSchemaToRowSchema(data) {
    var keys   = _.keys(data);
    var arrays = _.values(data);
    
    
    var arrayOfPropertyLists = _.zip.apply(_,arrays);
    
    
    var arrayOfObjects = _.map(arrayOfPropertyLists,function(list) {
    var obj = {};
    
    
    _.each(keys,function(key,i) {
    obj[key] = list[i];
    });
    
    
    return obj;
    });
    
    
    return arrayOfObjects;
}

转换为这种格式后,您可能需要转换回原始格式(例如,如果要将数据放入Slate中的表小部件中)。这是可以做到的:

var data = {{q_some_query}};
delete data['_response']
var newdata = _.zip.apply(_,_.values(data)).map((val) => _.zipObject(_.keys(data),val));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。