从对象的any []集合中删除单个对象

时间:2019-04-30 15:03:55

标签: javascript typescript

我在打字稿中有一个这样声明的对象

public profileDataSource: { Value: string, Key: number }[];

所以我会有一个看起来像这样的对象

   0: Object {Value: "<Select Profile>", Key: null}
    Key:null
    Value:"<Select Profile>"
   1: Object {Value: "Profile 1", Key: 1}
    Key:1
    Value:"Profile 1"

如何删除包含“选择配置文件”值的对象?

profileDataSource.splice(0,1)给我一个错误,表明接合不是函数

1 个答案:

答案 0 :(得分:0)

在我看来,您正在使用Angular。主要是因为您看起来像是在使用某种下拉菜单。

我想研究一种解决此类问题的解决方案。

概念上,您想创建一个下拉菜单,每个下拉菜单都有一个基本情况及其选项。基本情况可以是某种说要选择一个选项的字符串,也可以是其他形式。您可以使用这种基本情况来验证所需状态。

我会做的事情如下。

标记:

<select name="selection" [(value)}="selectionOption">
    <option [value]="base.value">{{base.label}}</option>
    <option *ngFor="let item in listOfOptions"
            [value]="item.value">{{item.label}}</option>
</select>

然后在您的标记中,您可能会遇到类似于:

class MyController {
    selectionOption: any;
    base : Item = { value: null, label: "<Select A Profile>" };
    listOfOptions: Item[] = [];

    ngOnInit() {
        //this.listOfOptions = ...; ///Whatever you want it to contain.
    }
   // Depending how you handle the data, with an NgModel, or FormGroup, you can validate that information.  If value is null, then no selection was done.  Otherwise, you can move to the next step in the validation pipeline.
}

class Item {
    value: any;
    label: string;
}