所以这可能看起来像一个奇怪的问题,但请耐心等待:
我有一个简单的字符串数组,我想将它映射到一个对象数组。很简单: 我会写
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/