我想编写一个表达式,它接受query参数的值并生成一个新对象,该对象包含所有内容query和默认$sort值,但前提$sort是尚未存在。
我觉得我应该使用传播运算符...来执行此操作,但是不知道在这种情况下如何使用它。
下面的代码不起作用,因为它总是返回。{$sort: {priority: -1, createdAt: -1}}
理想情况下,它应在console.log语句旁边的注释中打印出内容:
'use strict'
const funcUnderTest = (query) => ({
query: /^sort/.test(query) ? query : {$sort: {priority: -1, createdAt: -1}}
})
console.log(funcUnderTest(null)) // Should be { query: {$sort: {priority: -1, createdAt: -1}}}
console.log(funcUnderTest(({}))) // Should be { query: {$sort: {priority: -1, createdAt: -1}}}
console.log(funcUnderTest(({forCandidate: 123}))) // Should be { query: {forCandidate: 123, $sort: {priority: -1, createdAt: -1}}}
console.log(funcUnderTest(({$sort: {name:1}}))) // Should …Run Code Online (Sandbox Code Playgroud)