javascript - 通过比较父数组填充父对象

标签 javascript arrays for-loop

我有一个对象数组,其中又包含父对象的 ID: 例如:-

$scope.result=[
{
    "id": 1,
    "name": ABC,
    "type": PQR,
    "parentId": 2
},
{
    "id": 2,
    "name": ABC,
    "type": PQR,
    "parentId": 1
}]

我想将此 JSON 转换为以下内容,其中我将使用 parentObject 代替 parentId

$scope.result=[
    {
        "id": 1,
        "name": ABC,
        "type": a,
        "parentId": {
            "id": 2,
            "name": PQR,
            "type": b,
            "parentId": 1
        }
    },
    {
        "id": 2,
        "name": PQR,
        "type": b,
        "parentId": {
            "id": 1,
            "name": ABC,
            "type": a
        }
    }
]

任何人都可以帮助我进行此转换..

最佳答案

假设 parentId 将引用一个元素

angular.forEach($scope.result, function(result) {
   var obj = $scope.result.filter(function(ele) {
         return result.parentId === ele.id;
   })[0];
   result.parentId = obj;
});

因为你的标签不包含angularjs,我在这里使用Array.prototype.forEach

$scope.result.forEach(function(result) {
   var obj = $scope.result.filter(function(ele) {
         return result.parentId === ele.id;
   })[0];
   result.parentId = obj;
});

关于javascript - 通过比较父数组填充父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29792839/

相关文章:

javascript - 使用 JS 在 Google Analytic 中设置目标

javascript - 如何创建一个 RXJS 可暂停数据流,该数据流不会在每次恢复时重置?

java - (第一次编程)你如何检查一个类的数组的特定值?

java - 在三维空间中找到彼此最近的两个点

javascript - React-highcharts 滚动条功能不起作用

javascript - jquery查找和替换多个属性

Python - for循环退出 'prematurely'

java - 如何将二维数组转换为一维数组?

javascript - React javascript - json如何将多个数组元素合并为一个字符串

r - 如何从 R 中的 for 循环填充矩阵