TypeScript Docs描述了如何使用函数重载。
以下用例是静态定义的重载函数的示例。
interface MyObject {
a: boolean
b: number
}
const myObject: MyObject = {
a: true,
b: 1
}
function getValueOfMyObject (key: 'a'): boolean
function getValueOfMyObject (key: 'b'): number
function getValueOfMyObject (key: keyof MyObject): boolean | number {
return myObject[key]
}
Run Code Online (Sandbox Code Playgroud)
所以,
getValueOfMyObject('a')将有一个boolean作为返回类型,并且
getValueOfMyObject('b')将有一个numberas 返回类型。
对于我的用例,我不想为 MyObject 接口中的每个新属性输入更多的重载。我正在寻找具有动态返回类型的解决方案。TypeScript 根据 MyObject 接口自动推导返回类型的一种方式。就像是:
function getValueOfMyObject (key: keyof MyObject): typeof MyObject[key] {
return myObject[key]
}
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不是正确的语法。有没有办法用 TypeScript 实现这一点?
我有一个 Room 问题,我无法在其他地方找到帮助 - 在 SQLite 中使用“LIKE”时通常用于匹配任意数量字符的“%”不适用于我们正在使用的 Room 删除查询我团队的项目。
在我们的一个 DAO 中,我们有一个在 Kotlin 中定义为字符串的删除查询:
const val DELETE_BY_RESERVATION_CODE = "DELETE FROM ${TdaRoomDatabase.TABLE_REQUESTS} WHERE uri LIKE :reservationCode"
Run Code Online (Sandbox Code Playgroud)
以及同一个 DAO 中的 deleteRequest:
@Query(DELETE_BY_RESERVATION_CODE)
fun deleteRequest(reservationCode: String)
Run Code Online (Sandbox Code Playgroud)
但是,在 ':reservationCode' 参数引用周围添加百分比符号后,我们得到以下错误:
在输入“DELETE FROM requests WHERE uri LIKE %”处没有可行的替代方案
有没有人知道在 Room DB 查询中使用“LIKE”时如何使用百分比符号?我和我的团队(不精通 SQL)希望它的行为像 SQLite,但事实并非如此!
我想创建一个函数,生成一个从1到百万的随机数..并把它放在一个形式
"You have won [ random value ] points. Congratulations."
并以某种方式将其保存到变量"x",我可以在文本框中调用所以在文本框中的值如下:
<input class="textbox1" type="text" readonly value="[X]">
<p> [X] </p>
<a href="mywebsite" data-text="[X]"></a>
Run Code Online (Sandbox Code Playgroud)
所以我可以在不同的地方使用它,我怎么能这样做?
这真的撕裂了我的JS概念.这有什么不对的?
const NAME = 'chusss';
var name = 123;
console.log(typeof name); // string, wasnt it supposed to print number?
console.log(name); // 123
Run Code Online (Sandbox Code Playgroud) 我有和反对 db_parsed
我跑的时候 console.log(JSON.stringify(db_parsed, null, 4))
结果是:
{
"data": [
[
{
"name": "Me",
"age": 23,
"sex": "M"
},
{
"name": "Wonderwoman",
"age": 22,
"sex": "F"
}
],
[
{
"name": "ALbert The Man",
"age": 22,
"sex": "M"
}
],
[
{
"name": "Leonard Johnson",
"age": 23,
"sex": "M"
}
]
]
}
Run Code Online (Sandbox Code Playgroud)
但是当我跑 console.log(db_parsed.data.filter(obj => obj.age === 22))
结果是 []
为什么?我错过了什么?我该如何解决?
<ul class="dropdown-menu" id="parent">
@foreach($cat as $category)
<li class="dropdown-submenu">
<a id={{$category->id}}>{{$category->category_name}}</a>
</li>
@endforeach
Run Code Online (Sandbox Code Playgroud)
这是我的脚本它总是给我相同的值1
我想永远改变来自数据库的价值
$("#parent li a").click(function(){
var id = $('#parent li a').attr('id');
alert(id);
});
Run Code Online (Sandbox Code Playgroud)