javascript - 如何将对象(json)与模型(javascript类)进行比较

标签 javascript json angular typescript

我现在使用的是 Angular 2。 我有一些数据数组

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

MyModel 也是接口(interface):

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

假设我从后端接收到数据(对象 json):

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

如何验证对象中的键是否等于我的接口(interface)?

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

最佳答案

也许在 typescript 中有更好的方法,在 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,则验证将返回 false。

关于javascript - 如何将对象(json)与模型(javascript类)进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47989545/

相关文章:

javascript - 如何使用 javascript 从数组中的嵌套值计算平均值?

javascript - ReactJS i18n 重新加载页面

java - java 1.4 的 json 库

javascript - 为Angular表单添加组件标签后网页空白

javascript - 导出默认 react 而不提及冗余类

javascript - JavaScript 中的无序字典

mysql - 在同一个 MySQL 表中存储异构 json 对象?

json - Hadoop中JSON的分布式处理

angular - 访问子组件中的父内容或更好的方式

javascript - 使用 *ngfor 的多个选择标签更改第一个选择标签值会影响其他选择标签