Javascript 按数组长度筛选数组的对象
我尝试按数组长度对数组中的对象进行排序,例如,我尝试从长度超过3的对象数组中获取Javascript 按数组长度筛选数组的对象,javascript,object,filter,Javascript,Object,Filter,我尝试按数组长度对数组中的对象进行排序,例如,我尝试从长度超过3的对象数组中获取 { friend: [ { id: 0, name: 'A' }, { id: 1, name: 'V' }, { id: 2, name: 'C' }, { id: 3, name: 'D' } ], people: [ { id: 0, name: 'A' }, { id: 1, name: 'B' } ] } 结果将是数组。我试着这么做 function g
{
friend: [
{ id: 0, name: 'A' },
{ id: 1, name: 'V' },
{ id: 2, name: 'C' },
{ id: 3, name: 'D' }
],
people: [ { id: 0, name: 'A' }, { id: 1, name: 'B' } ]
}
结果将是数组。我试着这么做
function getPart (obj) {
for (let key in obj) {
if (obj[key].length>=4) {
console.log(obj[key]);
}
}}
但是我想尝试使用
过滤器对象来实现它,但是我不知道如何使它我们可以使用对象.entries()
和reduce()
函数来实现
下面是一个例子:
JS
let数据={
朋友:[
{id:0,名称:'A'},
{id:1,名称:'V'},
{id:2,名称:'C'},
{id:3,名称:'D'}
],
人员:[{id:0,名称:'A'},{id:1,名称:'B'}]
}
//首先使用object.entries将对象转换为数组,这样我们就可以使用reduce()函数循环它
//然后我们做一个条件语句,如果对象的长度大于等于4,那么我们将把它过滤到新对象中。
让new_data=Object.entries(data).reduce((a,b)=>a={…a,…(b[1]。长度>=4?{[b[0]]:b[1]}:{},{})
console.log(新的_数据)。//预期结果:{friend:[Object]}
仅一行:
Object.values(obj.filter)(ob=>ob.length>=4)
const ob={
朋友:[
{id:0,名称:'A'},
{id:1,名称:'V'},
{id:2,名称:'C'},
{id:3,名称:'D'}
],
人员:[{id:0,名称:'A'},{id:1,名称:'B'}]
}
函数getPart(obj){
const filtered=Object.values(obj.filter)(ob=>ob.length>=4);
console.log(过滤);
}
getPart(ob)代码>我不完全确定你想做什么。你能详细说明一下输出应该是什么样子吗?顺便说一句,欢迎来到SO!如果确定,我想使用过滤器。我被标题弄糊涂了。不需要排序?你只是想找到朋友
对象?