我对typescript相当陌生,我正在尝试简单地从我从mysql数据库获取的数组中删除一个对象,下面是我尝试这样做的方法,
// this is the format of the fetched data
let permissions = [
{
id: '1',
permission: 'permission one'
},
{
id: '2',
permission: 'permission two'
},
{
id: '3',
permission: 'permission three'
},
{
id: '4',
permission: 'permission four'
},
]
permissions = permissions.filter(permission => {
return parseInt(permission.id, 10) !== 2 // 2 is just an example
});
当我尝试这种方式时,我得到以下编译错误
“
”类型的参数不能赋值给“string”类型的参数
我也尝试了下面的方法,但奇怪的是,它总是删除最后一个索引!
const removeIndex = permissions
.map(item => item.id)
.indexOf(2); // also 2 is an example
permissions.splice(removeIndex, 1);
有人能告诉我错误在哪里吗?另外,这两种方法中哪一种性能更好?提前感谢
发布于 2019-04-29 02:18:02
你为什么不试试这个呢?
permissions = permissions.filter(permission => +permission.id !== 2);
在这里,Unary plus (+)运算符非常适合将字符串计算为数字
https://stackoverflow.com/questions/55893096
复制相似问题