javascript - 有条件地返回 JavaScript 中的对象属性

标签 javascript object array-map

所以这可能看起来像一个奇怪的问题,但请耐心等待:

我有一个简单的字符串数组,我想将它映射到一个对象数组。很简单: 我会写

arr.map (x => ({
   header  : x,
   sortType: 'basic'
}))

现在,问题是: 我想检查 x 是否具有特定值,然后根本不包含 sortType。 我想做一些类似的事情

 arr.map (x => ({
       header  : x,
       x==='test' ? (sortType: 'basic') : //don't provide anything
    }))

所以我希望我的最终数组是这样的: 我当然不想有两张 map !

[
{ header: 'Header One' , sortType: 'basic'},
{ header: 'test' },
{ header: 'Another one' , sortType: 'basic'},
]

最佳答案

您可以使用两个带有条件运算符的对象。

arr.map(header => header === 'test'
    ? { header }
    : { header, sortType: 'basic' }
)

或者采取Object.assign

arr.map(header => Object.assign({ header }, header !== 'test' && { sortType: 'basic' })) 

关于javascript - 有条件地返回 JavaScript 中的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60398634/

相关文章:

javascript - 显示多组按钮中的当前按钮

javascript - 基本身份验证是正确的选择吗?

javascript - 操作未知嵌套对象数组并打印所有元素(包括键、键和值)的函数

Spring运行时对象/bean创建

php - 使用 array_map 的多个函数

javascript - 如果在 Array.map 期间键已经存在,则将值推送到对象

javascript - 动态选择框在js中动态添加和删除其选项

php - 数组中的对象是否通过引用传递?

javascript - reactjs,jsx 遍历嵌套对象

javascript - 通过存储在数组 p5.js 中的点创建正方形