我有一个对象
console.log(`${arr}`);
我想在模板文字中使用它,因为我的用例但得到错误,假设我们使用模板文字记录此数组,如
array literal: This type can not be coerced to string
我们会收到此错误
query {
processes(
page: 1,
itemsPerPage: 100,
filterBy: ${where}, // This is where I am getting this error, I want to pass an array here
) {
id
businessKey
name
processDefinition {
name
}
createDate
endDate
tasks {
id
}
}
}
如何在模板文字中使用数组的任何替代解决方案?
这是我的用例我有查询
[Object Object]
但它会转换为const where = [{ name: 'endDate', op: 'is null' }];
。我知道有限制所以如果你能提出更好的解决方案吗?
这是我的对象
if condition then
do something
答案 0 :(得分:0)
如果我理解正确,那么你要找的是:
filterBy: ${JSON.stringify(where)},
答案 1 :(得分:0)
我使用了这个功能
const formatArray = (array: Array<Object>) => {
if (!array || array.length === 0) {
return '[]';
}
const objs = array.map((obj) => {
return Object.entries(obj)
.map(([key, value]) => `${key}: "${String(value)}"`)
.join(', ');
});
return `[{${objs.join('},{')}}]`;
};
并将查询更改为
query {
processes(
page: 1,
itemsPerPage: 100,
filterBy: ${formatArray(where)} // This is where I am formatting my array
) {
id
businessKey
name
processDefinition {
name
}
createDate
endDate
tasks {
id
}
}
}
并且有效。