gpt4 book ai didi

javascript - Typescript - 如果 map 内有条件

转载 作者:行者123 更新时间:2023-12-03 02:56:00 25 4
gpt4 key购买 nike

我正在将用户数据的子集映射到精炼数据集的对象。在 map 内部,我想检查变量是否为空或未定义,如果是,则将此变量设置为占位符值。

我面临的问题是在映射内声明 if 语句会导致错误,但即使映射可以将索引作为参数,我们如何在功能上将其与条件语句一起使用?任何见解都非常感激。

return this.UserService.search(url)
.map((data) => {
console.log(data);
data.result = <any> data.result.map((user, index) => ({
// if statement causing error here
if(user.name === null || user.name === undefined){
// error with this if condition
},
id: user.id,
name: user.name,
type: user.type,
password: user.password,
}));
return data;
}).map(data => ({
meta: { totalItems: data.size },
data: data.result,
}));

最佳答案

您尝试使用对象字面量作为返回类型,但自然地,if 语句(或任何语句)不能位于对象字面量语法内。

因此,定义一个也使用花括号的函数体,并将代码放入其中并使用显式的 return 语句。

// Starts function body instead of single expression-v
data.result = <any> data.result.map((user, index) => {

if (some_condition) {
return "some value"; // The object?
} else {
return "other value"; // A different object?
}
/*
// I assume these are to be used in the object you return
id: user.id,
name: user.name,
type: user.type,
password: user.password,
*/
});

关于javascript - Typescript - 如果 map 内有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com