Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/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
Arrays 从另一个对象数组中筛选对象数组_Arrays_Json_Object - Fatal编程技术网

Arrays 从另一个对象数组中筛选对象数组

Arrays 从另一个对象数组中筛选对象数组,arrays,json,object,Arrays,Json,Object,目前,我正在根据已检查属性值等于true的问题筛选数据 const data = [ {Name: "foo", X1: "1", X2: "1", Other: "Test1"}, {Name: "bar", X1: "2",X2: "2",Other: "Test2"}, {Name: "test",X1: "2",X2: "3",Other: "Test3"} ]; const questions = [{row

目前,我正在根据已检查属性值等于true的问题筛选数据

const data = [
             {Name: "foo", X1: "1", X2: "1", Other: "Test1"},
             {Name: "bar", X1: "2",X2: "2",Other: "Test2"},
             {Name: "test",X1: "2",X2: "3",Other: "Test3"}
];
const questions = [{rows: {text: "Text 1", checked: true,fields: "1",column: "X1"}
}, {rows: {text: "Text 2", checked: true,fields: "2",column: "X1"}
}, {rows: {text: "Text 3", checked: false,fields: "1",column: "X2"}
}, {rows: {text: "Text 4", checked: false,fields: "2",column: "X2"}
}, {rows: {text: "Text 5", checked: false,fields: "3",column: "X2"}
}];
 console.log(questionArr);
// console.log(dataArr);
const res = data.filter(d => questions.find(f => d[f.rows.column] === f.rows.fields && f.rows.checked));
当过滤下面的实际数据时,它起作用但不起作用。我认为提问对象和下面的实际提问对象之间有一点区别。。访问此类结构时,我的筛选代码应该是什么


我想这就是你要找的。我将数据结构与您问题中的图像进行了匹配。如果我错过了什么,请告诉我

常数数据=[ {Name:foo,X1:1,X2:1,Other:Test1}, {Name:bar,X1:2,X2:2,Other:Test2}, {Name:test,X1:2,X2:3,Other:Test3} ]; 常量问题=[ {行:[{text:text 1,选中:true,字段:2,列:X1}]}, {行:[{text:text 2,选中:true,字段:2,列:X1}]}, {行:[{text:text 3,选中:false,字段:1,列:X2}]}, {行:[{text:text 4,选中:false,字段:2,列:X2}]}, {行:[{text:text 5,选中:false,字段:3,列:X2}]} ]; const result=data.filterfunctionitem{ 返回问题{ 返回question.rows.somefunctionrow{ 返回row.checked&&item[row.column]==row.fields; }; }; };
console.logresult;预期结果是什么?只有在checked属性中具有值为true的问题的数据才能返回,因此在两个数组中只有foo必须返回。。因为它只有X1=1,所以这两个代码都工作得很好,但是如果其余的行很重要呢?在给定的示例对象中,不应显示任何数据,因为X2列中没有一个被选中,甚至X1列都被选中了?现在可以了,我使用了every而不是some。再次感谢