Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用lodash替换具有相同id的阵列中对象_Javascript_Arrays_Object_Lodash - Fatal编程技术网

Javascript 使用lodash替换具有相同id的阵列中对象

Javascript 使用lodash替换具有相同id的阵列中对象,javascript,arrays,object,lodash,Javascript,Arrays,Object,Lodash,我是新来的泥鳅,需要帮助 我有两个目标: { "data": [ { "RHID": "2", "NOME": "Leonor", }, { "RHID": "3", "NOME": "José", } ] } 及 如果内部对象不同,如何用相同的RHID替换它们。保留第二个。 我使用 Form.myData[Form.arrData] = _.map(

我是新来的泥鳅,需要帮助

我有两个目标:

{
  "data": [
    {
      "RHID": "2",
      "NOME": "Leonor",     
    },
    {
      "RHID": "3",
      "NOME": "José",     
    }
]
}

如果内部对象不同,如何用相同的RHID替换它们。保留第二个。 我使用

Form.myData[Form.arrData] = _.map(
                                _.uniq(
                                    _.map(Form.myData[Form.arrData],        function (obj) {
                                        return JSON.stringify(obj);
                                    })
                                ), function (obj) {
                                    return JSON.parse(obj);
                                }
                            );
如果不同,我想替换。
非常感谢。

通过合并oposite的方式解决

$.merge( newData[Form.arrData],Form.myData[Form.arrData]);
而不是

                            $.merge( Form.myData[Form.arrData],newData[Form.arrData]);
  Form.myData[Form.arrData] = _.map(
                            _.uniq(
                                _.map(Form.myData[Form.arrData],        function (obj) {
                                    return JSON.stringify(obj);
                                })
                            ), function (obj) {
                                return JSON.parse(obj);
                            }
                        );
然后

Form.myData[Form.arrData] = _.map(
                            _.uniq(
                                _.map( newData[Form.arrData], function (obj) {
                                    return JSON.stringify(obj);
                                })
                            ), function (obj) {
                                return JSON.parse(obj);
                            }
                        );
而不是

                            $.merge( Form.myData[Form.arrData],newData[Form.arrData]);
  Form.myData[Form.arrData] = _.map(
                            _.uniq(
                                _.map(Form.myData[Form.arrData],        function (obj) {
                                    return JSON.stringify(obj);
                                })
                            ), function (obj) {
                                return JSON.parse(obj);
                            }
                        );

你能重新表述“如果内部对象不同,我如何用相同的RHID替换它们。保留第二个。”因为这没有意义;)对不起,我的英语不好。假设我有两个对象数组。我想替换第一个数组中与第二个对象数组的rhid匹配的条目。或者,如果它们与我们看到的不同,则进行替换。不同时在集合中的更新操作和替换类型。