Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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 - Fatal编程技术网

Javascript 在筛选对象期间检查非空数组

Javascript 在筛选对象期间检查非空数组,javascript,Javascript,尝试筛选对象以仅返回非空值 下面是我的代码摘录。在这种情况下,如何检查数组job中的非空值 const name=null, 年龄='25', 作业=[null]; 常量对象={ 名称 年龄, 工作 }; const result=Object.fromEntries( Object.entries(obj.filter(([\ux,value])=>value) ); console.log(result)如果数组只能有一个元素,则可以检查值[0]是否真实 const name=null,

尝试筛选对象以仅返回非空值

下面是我的代码摘录。在这种情况下,如何检查数组
job
中的非空值

const name=null,
年龄='25',
作业=[null];
常量对象={
名称
年龄,
工作
};
const result=Object.fromEntries(
Object.entries(obj.filter(([\ux,value])=>value)
);

console.log(result)
如果数组只能有一个元素,则可以检查
值[0]
是否真实

const name=null,
年龄='25',
作业=[null];
常量对象={
名称
年龄,
工作
};
const result=Object.fromEntries(
Object.entries(obj.filter)([\ux,value])=>value&&value[0])
);

console.log(result)
如果数组只能有一个元素,则可以检查
值[0]
是否真实

const name=null,
年龄='25',
作业=[null];
常量对象={
名称
年龄,
工作
};
const result=Object.fromEntries(
Object.entries(obj.filter)([\ux,value])=>value&&value[0])
);

console.log(result)
首先映射条目中的数组以仅保留truthy值,然后根据条目是否为truthy而不是0长度数组过滤条目:

const name=null,
年龄='25',
作业=[null];
常量对象={
名称
年龄,
工作
};
const result=Object.fromEntries(
Object.entries(obj)
.地图(
([key,value])=>[key,Array.isArray(value)?value.filter(v=>v):value]
)
.filter(([,value])=>value&(!Array.isArray(value)| | value.length))
);

console.log(result)
首先映射条目中的数组以仅保留truthy值,然后根据条目是否为truthy而不是0长度数组过滤条目:

const name=null,
年龄='25',
作业=[null];
常量对象={
名称
年龄,
工作
};
const result=Object.fromEntries(
Object.entries(obj)
.地图(
([key,value])=>[key,Array.isArray(value)?value.filter(v=>v):value]
)
.filter(([,value])=>value&(!Array.isArray(value)| | value.length))
);

console.log(结果)
这可以按如下方式完成:

const name=null,
年龄='25',
job=[null,29];
常量对象={
名称
年龄,
工作
};
让结果={
}
用于(obj中的道具){
如果(对象[prop]){
if(Array.isArray(obj[prop])){
结果[prop]=obj[prop]。过滤器(函数(元素){
返回元素!=null;
})
}
否则{
结果[prop]=obj[prop];
}
}
}

console.log(结果)
这可以按如下方式完成:

const name=null,
年龄='25',
job=[null,29];
常量对象={
名称
年龄,
工作
};
让结果={
}
用于(obj中的道具){
如果(对象[prop]){
if(Array.isArray(obj[prop])){
结果[prop]=obj[prop]。过滤器(函数(元素){
返回元素!=null;
})
}
否则{
结果[prop]=obj[prop];
}
}
}

console.log(result)
数组是真实的。打开开发者控制台并键入
!![]
。即使空数组是错误的,你的也不是空的。你必须检查每个值的
类型,如果它是数组,然后遍历数组并检查。另外,如果数组有混合值,例如
['developer',null]
?你想拒绝还是保留这个数组?我只有一个值,比如
['developer']
@TerryLess-somedy,如果期望只有一个值,那么数组的使用是不必要的,数组是真实的。打开开发者控制台并键入
!![]
。即使空数组是错误的,你的也不是空的。你必须检查每个值的
类型,如果它是数组,然后遍历数组并检查。另外,如果数组有混合值,例如
['developer',null]
?你想拒绝还是保留这个数组?我只有一个值,比如
['developer']
@TerryLess-臭味,如果期望只有一个值,那么使用数组是不必要的