首页 > 解决方案 > 我需要使用 TypeScript 和 Angular 将数组数组转换为 cbtItem 数组

问题描述

我需要使用 TypeScript 和 Angular 将数组数组转换为 cbtItem 数组。ctbItem 是一个接口

这是publicatorservice.service.ts的代码:

turnarray( data: any [][] ){
const dataobj: cbtItem[]= data.map(function(row){
      return {
        a: row[0],
        b: row[1],
        c: row[2],
        d: row[3],
        e: row[4],
        f: row[5],
        g: row[6],
        h: row[7],
      }
    });
    
    this.ELEMENT_DATA = dataobj;

    console.log(this.ELEMENT_DATA);
  }

这是interface.ts的代码:

export interface cbtItem  {
    listing_type_id:                  string;
    title:                            string;
    available_quantity:               number;
    category_id:                      string;
    buying_mode:                      string;
    currency_id:                      string;
    condition:                        string;
    site_id:                          string;
    price:                            number;
    accepts_mercadopago:              boolean;
    non_mercado_pago_payment_methods: any[];
    warranty:                         string;
    sale_terms:                       SaleTerm[];
    attributes:                       Attribute[];
    pictures:                         Picture[];
    description:                      Description;
}

export interface Attribute {
    id:                    string;
    value_name:            string;
    name?:                 string;
    value_id?:             null | string;
    value_struct?:         null;
    values?:               Value[];
    attribute_group_id?:   string;
    attribute_group_name?: string;
    source?:               number;
}

export interface Value {
    id:     null | string;
    name:   string;
    struct: null;
    source: number;
}

export interface Description {
    plain_text: string;
}

export interface Picture {
    source: string;
}

export interface SaleTerm {
    id:          string;
    value_name?: string;
    value_id?:   string;
}

我收到此错误:

" 类型'{ a:字符串;b:字符串;c:字符串;d:字符串;e:字符串;f:字符串;g:字符串;h:字符串;i:字符串;j:字符串;k:字符串;l: string; m: string; n: string; o: string; p: string; q: string; r: string; s: string; t: string; u: string; ... 18 more ...; an: string ; }[]' 不能分配给类型 'cbtItem[]' "

希望你能帮助我,谢谢

标签: arraysangulartypescriptobjectinterface

解决方案


推荐阅读