Javascript 输出非';数组中键值对中的t null
所以在文件夹数组中。我想打印出大小不为null的文件夹的“名称”Javascript 输出非';数组中键值对中的t null,javascript,arrays,nested,key-value,Javascript,Arrays,Nested,Key Value,所以在文件夹数组中。我想打印出大小不为null的文件夹的“名称” let文件夹=[ { 名称:'user_name', 尺码:5455, 信息:“” }, { 名称:'无标题', 尺码:545343, 信息:“无描述” }, { 名称:'new_user', 大小:空 } ];一个问题是如果(f.size!==null)不应该有一个尾随分号-这将使测试变得毫无意义,因为无论它是否为null,分号都意味着后面的行将被执行。另一个是filter始终返回数组中的原始项,如果测试通过-对于您正在执行的
let文件夹=[
{
名称:'user_name',
尺码:5455,
信息:“”
},
{
名称:'无标题',
尺码:545343,
信息:“无描述”
},
{
名称:'new_user',
大小:空
}
];代码>一个问题是如果(f.size!==null)
不应该有一个尾随分号-这将使测试变得毫无意义,因为无论它是否为null,分号都意味着后面的行将被执行。另一个是filter
始终返回数组中的原始项,如果测试通过-对于您正在执行的操作,您可以使用filter
(过滤空值),然后使用map
(访问名称
):
let文件夹=[
{
名称:'user_name',
尺码:5455,
信息:“”
},
{
名称:'无标题',
尺码:545343,
信息:“无描述”
},
{
名称:'new_user',
大小:空
}
];
console.log(
文件夹
.filter(({size})=>size!==null)
.map(({name})=>name)
);代码> > p>为了实现这一点,请考虑使用<代码>数组*文件过滤器()/<代码>与数组AlxPMAP()/<代码>
首先,使用filter()
隔离大小不为null
的文件夹项:
.filter(folder => folder.size !== null)
然后使用map()
将筛选结果中的每个文件夹项转换为该文件夹的名称:
.map(folder => folder.name)
完整的示例如下所示:
let文件夹=[
{
名称:'user_name',
尺码:5455,
信息:“”
},
{
名称:'无标题',
尺码:545343,
信息:“无描述”
},
{
名称:'new_user',
大小:空
}
];
让结果=文件夹
.filter(folder=>folder.size!==null)
.map(folder=>folder.name)
log(result)
这只会过滤掉空的大小,不过OP正在查找所说的名称folders@CertainPerformance谢谢你指出这一点!完全忽略了这个细节-刚刚更新了答案,非常感谢:-)只需将结果分配给一个变量,然后console.log
该变量。例如const result=folders.reduce(…