Javascript 如果已定义,如何推送数组的值?
我有一个数组,它有一个项目列表,如果没有返回,这些项目将作为未定义项返回,如果返回,则返回trueJavascript 如果已定义,如何推送数组的值?,javascript,reactjs,Javascript,Reactjs,我有一个数组,它有一个项目列表,如果没有返回,这些项目将作为未定义项返回,如果返回,则返回true resolved = [undefined, undefined, undefined, true, undefined] 如果数组中存在“true”项,我如何将其推送到新数组中 到目前为止,我有这个 resolved.map(item =>{ if(item === undefined){ console.log(`No resolved issues`); } els
resolved = [undefined, undefined, undefined, true, undefined]
如果数组中存在“true”项,我如何将其推送到新数组中
到目前为止,我有这个
resolved.map(item =>{
if(item === undefined){
console.log(`No resolved issues`);
} else {
console.log(`defined`);
}
} )
输出:
newResolved = [true]
resolved=[未定义,未定义,未定义,真,未定义]
已解决。映射(项=>{
如果(项目===未定义){
log(`No resolved issues`);
}否则{
log(`defined`);
}
})
您错误地使用了map()
,因为您需要将每次迭代返回到它创建的新数组中
您真正想要的是filter()
const arr=[undefined,undefined,undefined,true,undefined];
常数res=arr.filter(e=>e==true)
console.log(res)
您使用的map()
不正确,因为您需要将每次迭代返回到它创建的新数组中
您真正想要的是filter()
const arr=[undefined,undefined,undefined,true,undefined];
常数res=arr.filter(e=>e==true)
console.log(res)
您可以使用Array.prototype.filter
函数仅过滤有效项
const resolved=[undefined,undefined,undefined,true,undefined];
const result=resolved.filter(项=>item);
控制台日志(结果)代码>您可以使用Array.prototype.filter
函数仅过滤有效项
const resolved=[undefined,undefined,undefined,true,undefined];
const result=resolved.filter(项=>item);
控制台日志(结果)代码>我认为你走的是正确的道路。这看起来像是forEach
方法而不是map
方法的主要用途。这将允许您查看每个数组值并对其进行处理
const newArray = []
resolved.forEach(item =>{
if(item === undefined){
console.log(`No resolved issues`);
} else {
console.log(`defined`);
newArray.push(item)
}
})
我想你走的路是对的。这看起来像是forEach
方法而不是map
方法的主要用途。这将允许您查看每个数组值并对其进行处理
const newArray = []
resolved.forEach(item =>{
if(item === undefined){
console.log(`No resolved issues`);
} else {
console.log(`defined`);
newArray.push(item)
}
})
已解析。过滤器(布尔值)
<代码>已解析。一些(布尔值)
?欢迎来到SO!不清楚你到底想要什么。输出/其他数组是什么?@epascarello嘿,刚刚更新解析。过滤器(布尔值)
<代码>已解析。一些(布尔值)
?欢迎来到SO!不清楚你到底想要什么。输出/其他数组是什么?@epascarello嘿,刚刚更新了.filter(布尔)
.filter(布尔)