绑定JavaScript/Typescript之前JSON响应键转换或简单响应修改的有效方法[已关闭]

5ssjco0h  于 2022-12-15  发布在  Java
关注(0)|答案(1)|浏览(101)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

三年前关闭了。
Improve this question
我有我张贴的问题的解决方案,但我在寻找一个轻量级或说有效的方法来做到这一点,如果可能的话。因此,我需要一个更好的方法/建议
我有一个dictionary/ key Value对,如下所示,它基本上是将用于响应转换的Map。

"score": "RelevantScore",
"headline": "Headline",
"subtitle1": "PublishedDate",
"subtitle2": "Stage",
"body": "Summary",
"labels": "Tag"

我想在绑定或赋值之前转换我得到的Json响应

收到的输入:-

"Data": [{
            "RowId": 1,
            "Headline": "some data",
            "PublishedDate": "2022-09-29",
            "Summary": " some data",
            "SourceURL": "https://www.google.com",
            "RelevantScore": 0,
            "Stage": null,
            "Tag": "",          
}]

预期输出:-

"Data": [{
            "RowId": 1,
            "headline": "some random headline",
            "subtitle1": "2022-09-29",
            "body": "some data",
            "SourceURL": "https://www.google.com",
            "score": 0,
            "subtitle2": null,
            "labels": "",
}]

输入JSON响应键将替换/交换为相应的Map值,以便可以根据旧响应创建新响应。

示例:-RelevantScore将被其Map值Score替换

现有方法:-

function renameKey ( obj, oldKey, newKey ) {
  obj[newKey] = obj[oldKey];
  delete obj[oldKey];
}

呼叫:-

arr.forEach( obj => renameKey( obj, 'RelevantScore', 'Score' ) );
fv2wmkja

fv2wmkja1#

根据你的描述猜猜看:您有一个包含12个元素的数组,需要就地修改该数组,以便[0..2,9..11]排序,[3..8]排序。
由于你没有具体说明任何性能要求,我建议如下:

  • 对子数组排序[3..8]
  • 将指数[9..11]与[3..5]交换
  • 对子数组[0..5]排序
  • 撤消上述交换。

在代码中,它类似于:

// swap left[0] with right[0], left[1] with right[1], left[2] with right[2]
void swap3(int* left, int* right);

// Sorts the sub-range [start..end)
// (end points one element past the intended range)
void sort_range(int* start, int* end);

void weird_sort(int* arr) {
    sort_range(&arr[3], &arr[9]);
    swap3(&arr[9], &arr[3]);
    sort_range(&arr[0], &arr[6]);
    swap3(&arr[9], &arr[3]);
}

相关问题