如何比较对象(json)与模型(javascript类)

马克

我目前正在使用角度2。我有一些数据数组

data: MyModel[] = [
{
  id: 1,
  name: 'Name',
  secondName: 'SecondName'
}

MyModel也是接口:

interface MyModel {
id: number,
name: string,
secondName: string

想象一下,我从后端(对象json)接收到数据:

{
id: 2,
FIRSTname: 'FName',
secondName: 'SecondName'
}

如何验证对象中的键等于我的界面?

例如,字段“ FIRSTname”不正确,那么我应该抛出异常或其他东西。

你有Alaluf

也许在打字稿中有更好的方法,在es6中,您可以执行以下操作:

const data = [
  {
    id: 2,
    name: 'FName',
    secondName: 'SecondName'
  },
  {
    name: 'foo',
    secondName: 'bar'
  },
];
const validate = ({id, name, secondName}) => id && name && secondName

const validData = data.filter(validate)
console.log(validData);

请注意,如果值之一(id,name,secondName,null)为null,validate将返回false。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章