Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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中查找并替换嵌套数组对象_Javascript_Jquery_Arrays_Object - Fatal编程技术网

在javascript中查找并替换嵌套数组对象

在javascript中查找并替换嵌套数组对象,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,如何在javascript中查找和替换深层嵌套数组对象 var obj_res = getValue("bank", "bank", "trans"); function getValue(send, receive, id){ const temp = obj.map(e => Object.entries(e).map(([k, val]) => val)).flat(3) result_obj = temp.filter(x=>x.in ==send &am

如何在javascript中查找和替换深层嵌套数组对象

var obj_res = getValue("bank", "bank", "trans");
function getValue(send, receive, id){
   const temp = obj.map(e => Object.entries(e).map(([k, val]) => val)).flat(3)
    result_obj = temp.filter(x=>x.in ==send && && x=>x.out ==receive && x.id == id);
  return result_obj;}
我有一个示例对象名
obj
,并通过
id、in和out
(obj\u res)过滤对象。 如何使用javascript中的
obj_res
中的
id fund
查找和更新特定的obj,如预期输出所示

我陷入困境,需要帮助如何使用javascript

var obj_res = getValue("bank", "bank", "trans");
function getValue(send, receive, id){
   const temp = obj.map(e => Object.entries(e).map(([k, val]) => val)).flat(3)
    result_obj = temp.filter(x=>x.in ==send && && x=>x.out ==receive && x.id == id);
  return result_obj;}
如果您认为只有一个实例,请使用
find()
获取第一个实例。否则,使用
filter()
并在每个对象上循环以修改每个匹配对象的属性

var obj_res=[{
“id”:“trans”,
“in”:“bank”,
“输出”:“银行”,
“价值”:10
}, {
“id”:“基金”,
“in”:“bank”,
“输出”:“银行”,
“价值”:10
}]
var fund=obj_res.find({id}=>id==='fund');//返回数组元素或false
国际单项体育联合会(基金){
fund.in='XXXXX';
控制台日志(obj_res)

}
派对有点晚了,呵呵。我也需要修改深度嵌套的对象,但没有找到可接受的工具。然后我做了这个,并把它推给了npm

这个小库可以帮助以lodash方式修改嵌套对象。例如:

var findAnd=require(“查找和”);
常量对象=[{
“id”:“trans”,
“in”:“bank”,
“输出”:“银行”,
“价值”:10
},{
“id”:“基金”,
“in”:“bank”,
“输出”:“银行”,
“价值”:10
}];
findAnd.changeProps(对象,{id:'fund'},{in:'credit'});
输出您想要的内容


希望这能帮助其他人。

好帮手。如果您添加一个
appendObject
方法来在找到的对象之后添加一个对象,那就太好了。@MarkL将
insertObjectBefore
insertObjectAfter
函数添加到库中。
//resultant obj after filter by id , in ,out 
var obj_res =[{
  "id": "trans",
  "in": "bank",
  "out": "bank",
  "value": 10
 },{
 "id": "fund",
 "in": "bank",
 "out": "bank",
 "value": 10
}]

 Expected Output:
  res=[{
  "id": "trans",
  "in": "bank",
  "out": "bank",
  "value": 10
 },{
"id": "fund",
"in": "credit",
"out": "bank",
"value": 10
}]