[英]Delete or filter an object in a nested array (Javascript)
Based on an array like this:基于这样的数组:
var p = [
{x: [
{x1: 1},
{x1: 2},
]
},
];
How can I get something like this:我怎样才能得到这样的东西:
// Result of filtering an object where key is 'x1' and value is greater than 1
p === [
{x: [
{x1: 2},
]
},
];
p = p.map(v => {
v.x = v.x.filter(({ x1 }) => x1 > 1)
return v
})
or (shorter syntax)或(更短的语法)
p = p.map(v => (v.x = v.x.filter(({ x1 }) => x1 > 1), v))
to create a new array q with the desired properties创建一个具有所需属性的新数组 q
var q = [
{x: p[0].x.filter( (x) => x.x1 > 1 ) }
]
or if you wish to change the array p in place或者如果你想改变数组 p 就地
p[0].x = p[0].x.filter( (x) => x.x1 > 1 )
This code will return an array of objects with property 'x1' greater than 1.此代码将返回属性“x1”大于 1 的对象数组。
var p = [{x: [{x1: 1}, {x1: 2}]}]; let filtered = p.map(obj => obj.x.filter(y => y.x1 > 1)); console.log(filtered);
var result = p[0].x.find(x = x.x1 > 1) var 结果 = p[0].x.find(x = x.x1 > 1)
use map and filter使用 map 和过滤器
var p = [ {x: [{x1: 1}, {x1: 2}]}, ]; result=p.map((o)=>({...oxfilter(y=>y.x1>1)})) console.log(result)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.