当前位置: 首页 > 知识库问答 >
问题:

如何在没有else语句的情况下使用一行。Javascript中的map()?[重复]

公羊浩阔
2023-03-14

我有一个我不知道如何解决的问题。

我想用映射数据。地图(x)=

例如:

我想要的是:

let mappedData = data.map((x) => x.data === filters.data ? [x.value, x.name, x.category]: pass);

这将返回只填充条件的数据。

当我使用这样的东西时

let mappedData = data.map((x) => x.data === filters.data ? [x.value, x.name, x.category]: {});

它返回大小数据数组,如果条件未填充,则返回空DICT。

我也试过这样做:

let mappedData = data.map((x) => x.data === filters.data && [x.value, x.name, x.category]);

但这让我在每个不满足条件的索引上都false

如果可能的话,我真的很想做一个班轮。

谢谢你们


共有2个答案

欧阳昊阳
2023-03-14

不太确定你想要什么,但这有帮助吗?

let data = [{name: "Peter", age:29}, {name: "Rina", age: 36}, {name: "Joseph", age: 37}];
let filters = {name: "Rina", age: 36}; 
let res=[];
data.map((item) => {(item.name === filters.name)? res.push(item):null});
console.log(res);
let mappedData = data.map((x) => x.data === filters.data ? [x.value, x.name, x.category]: pass);
颛孙霖
2023-03-14

不能通过调用map忽略元素,但可以使用filter来做到这一点,然后使用map忽略其余元素:

let mappedData =
   data.filter((x) => x.data === filters.data)
       .map((x) => [x.value, x.name, x.category]);
 类似资料:
  • 我试图用多个if语句构建一个简单的javascript页面。其思想是根据一堆if语句的计算结果添加到一个列表中。问题是,如果其中任何一个失败,就会触发else语句。我只想在它们都失败的情况下触发else。 当我运行它并且满足所有条件时,我会得到: 当我运行此程序且不满足任何条件时,我将得到: 但如果任何一个条件不满足,我会得到: 或 我试过使用,但它在第一次“匹配”后退出。所以在上面的例子中,如果

  • 我一直在做一个倒计时程序,我想到了这个。 在最后的while循环中,如果里面没有print/println语句,倒计时代码就不会执行。为什么?不过,该程序与print语句配合得非常好。

  • 我正在上一门Java课程,我们还没有正式学习if语句。我在学习,看到了这个问题:

  • 问题内容: 我正在寻找没有浏览器的Javascript编程。我想从Linux或MacOSX命令行运行脚本,就像我们运行任何其他脚本语言(ruby,PHP,Perl,Python …)一样 我研究了spider monkey(Mozilla)和v8(Google),但它们似乎都是嵌入式的。 是否有人将Javascript作为脚本语言从命令行执行? 如果有人好奇,为什么我期待到这一点,我一直在关注着N

  • 我正在玩grpc 有人成功使用进行生产吗?我们需要包括特使在内的所有依赖项吗?

  • 我看到的所有解决方案都需要使用。但是,我想在Eclipse之外的单个文件上使用CDT解析器。那有什么办法吗?