如何从对象属性数组

时间:2017-04-24 12:15:06

标签: javascript angular ngfor

我在组件中使用ngFor。我有以下对象。

{"name":"name_text","values":[null,{"id":1,"text":"text1"},{"id":2,"text":"text2"},{"id":3,"text":"text3"},null,{"id":5,"text":"text5"},{"id":6,"text":"text6"},{"id":7,"text":"text7"}]}

这是我在组件中的ngFor:

<option *ngFor="let val of enumeration.values" value="{{val}}">{{val["text"]}}</option>

问题是数组中有空对象,所以我无法运行它。有人可以帮助我并给我一些提示我如何删除它们?

由于

2 个答案:

答案 0 :(得分:2)

使用Array#filter删除null条目并修改原始对象。

&#13;
&#13;
var obj = {"name":"name_text","values":[null,{"id":1,"text":"text1"},{"id":2,"text":"text2"},{"id":3,"text":"text3"},null,{"id":5,"text":"text5"},{"id":6,"text":"text6"},{"id":7,"text":"text7"}]},
    res = obj.values.filter(v => v);
    obj.values = res;

    console.log(obj);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用jquery grep函数。希望它可以帮到你。

YourArray = jQuery.grep(YourArray,function(n,i){

return(n!=“”&amp;&amp; n!= null);

});